API Reference

Base URL for all requests: https://api.lendirow.com

Authentication: pass your API key as a Bearer token in the Authorization header on every request.

POST /v1/decision

Submit a credit decision request for a single applicant. Returns a scored decision with contributing factors in under one second.

POST /v1/decision

Request body

{
  "applicant_id": "string",         // required · your internal applicant ID
  "bank_data_token": "string",       // required · open banking token
  "lookback_months": 24,             // optional · 6, 12, or 24 (default: 24)
  "requested_amount": 2500           // optional · loan amount in USD
}

Response — 200 OK

{
  "request_id": "string",            // unique request identifier
  "applicant_id": "string",          // echoed from request
  "lendiro_score": 300-850,          // cash-flow score
  "decision": "APPROVED|REVIEW|DECLINED",
  "confidence_band": "high|medium|low",
  "lookback_months": integer,
  "primary_factors": ["string"],      // max 5, ranked
  "adverse_action_codes": ["string"], // DECLINED only
  "latency_ms": integer
}

GET /v1/decision/{id}

Retrieve a previously made decision by its request_id. Decision records are available for 90 days after creation.

GET /v1/decision/{request_id}

Path parameters

  • request_id — the request_id value returned in the original decision response

Response — 200 OK

Returns the same decision object as POST /v1/decision, plus a created_at timestamp (ISO 8601).

{
  "request_id": "req_9c4f1a2b",
  "created_at": "2026-06-15T14:32:01Z",
  "applicant_id": "app_7f3a9c2b",
  "lendiro_score": 742,
  "decision": "APPROVED",
  "confidence_band": "high",
  "primary_factors": ["recurring_payment_consistency", "inflow_velocity_trend"],
  "adverse_action_codes": [],
  "latency_ms": 847
}

POST /v1/batch

Submit a batch of up to 500 decision requests in a single API call. Asynchronous — returns a batch_id immediately. Results available via webhook or polling on the batch status endpoint.

Available on Growth and Scale tiers only.

POST /v1/batch

Request body

{
  "requests": [
    {
      "applicant_id": "string",
      "bank_data_token": "string",
      "lookback_months": 24
    }
    // ... up to 500 items
  ],
  "webhook_url": "https://yourplatform.com/webhooks/lendiro"  // optional
}

Response — 202 Accepted

{
  "batch_id": "batch_a2f7c1e9",
  "status": "queued",
  "request_count": 50,
  "estimated_completion_ms": 12000
}

GET /v1/status

Returns the current API status, your account's decision quota, and usage for the current billing period.

GET /v1/status

Response — 200 OK

{
  "api_status": "operational",
  "account_tier": "growth",
  "decisions_used_this_period": 4821,
  "decisions_included": 10000,
  "period_resets_at": "2026-07-01T00:00:00Z"
}

Error codes

Rate limits

Rate limits are applied per API key per second.

When a rate limit is exceeded, the API returns 429 with a Retry-After header indicating seconds until the next request window opens.

Webhooks

Configure a webhook URL on your Growth or Scale account to receive decision events without polling. Lendiro sends a signed POST request to your endpoint for each completed decision or batch.

Webhook payload

{
  "event": "decision.completed",
  "timestamp": "2026-06-15T14:32:01Z",
  "data": {
    "request_id": "req_9c4f1a2b",
    "applicant_id": "app_7f3a9c2b",
    "decision": "APPROVED",
    "lendiro_score": 742
  }
}

Verify webhook authenticity using the X-Lendiro-Signature header — an HMAC-SHA256 signature of the raw request body using your webhook secret. Configure your webhook URL and retrieve your signing secret in your account dashboard.