Back to home

API Documentation

Integrate TenantVerify into your property management software

Authentication

All API requests require authentication using an API key. Include your API key in the Authorization header:

Authorization: Bearer tv_live_your_api_key_here

API keys are available on Pro and Business plans. Generate keys from your Settings page.

Create Verification Request

POST/api/v1/verify

Request Body

{
  "tenant_email": "tenant@example.com",  // Required
  "tenant_name": "John Doe",             // Optional
  "tenant_phone": "(555) 123-4567",      // Optional
  "property_address": "123 Main St",     // Optional
  "monthly_rent": 2000,                  // Optional - for affordability calc
  "webhook_url": "https://your-app.com/webhook"  // Optional
}

Response (201 Created)

{
  "success": true,
  "data": {
    "verification_id": "abc123-def456",
    "verification_url": "https://app.tenantverify.com/verify/token123",
    "tenant_email": "tenant@example.com",
    "status": "pending",
    "expires_at": "2024-01-30T00:00:00Z"
  }
}

Get Verification Status

GET/api/v1/verify?verification_id=abc123

Response (200 OK)

{
  "success": true,
  "data": {
    "verification_id": "abc123-def456",
    "status": "completed",
    "tenant": {
      "email": "tenant@example.com",
      "name": "John Doe"
    },
    "property": {
      "address": "123 Main St",
      "monthly_rent": 2000
    },
    "income_report": {
      "total_monthly_income": 6500.00,
      "income_sources": [
        {
          "name": "ACME Corp",
          "income_category": "SALARY",
          "pay_frequency": "BIWEEKLY",
          "monthly_income": 5200.00
        }
      ],
      "verification_method": "bank",
      "confidence_score": 0.95,
      "rent_to_income_ratio": 0.31,
      "passes_3x_rule": true
    },
    "created_at": "2024-01-23T00:00:00Z",
    "completed_at": "2024-01-24T12:00:00Z"
  }
}

Verification Statuses

pendingWaiting for tenant to complete verification
in_progressTenant has started bank connection
completedVerification complete, report available
expiredVerification link expired (7 days)
failedError during verification process

Rate Limits

API requests are rate limited based on your plan:

Pro Plan100 requests/day
Business Plan500 requests/day

Rate limit headers are included in all API responses:X-RateLimit-Limit, X-RateLimit-Remaining

Ready to integrate?

API access is available on Pro and Business plans.