v1.0 Get API access
POST /v1/credit/onboard

Onboard a customer

Register a new customer in the Colend system and initiate KYC verification. Returns a customer_id that you'll use for all subsequent credit operations. This step needs to happen once per customer.

💡 KYC verification runs asynchronously. You'll receive a customer.verified webhook when complete — typically under 30 seconds. You can also poll /v1/customer/{id} for status.
Request body parameters
full_name
string
required
Customer's full legal name as it appears on official ID.
curp
string
required
18-character CURP. Used for identity verification and bureau lookup.
rfc
string
optional
RFC with homoclave. Strongly recommended — improves decisioning accuracy.
phone
string
required
Mexican mobile number in E.164 format, e.g. +5215512345678.
email
string
optional
Customer email. Used for communication and fraud scoring.
address
object
optional
Customer address with fields: street, colonia, municipio, estado, cp.
partner_customer_id
string
optional
Your internal ID for this customer. Stored for reconciliation. Max 64 chars.
metadata
object
optional
Arbitrary key-value pairs. Stored and returned in all subsequent responses.
Response fields
customer_id
string
Colend's unique identifier for this customer. Format: cust_XXXXXXXXXX.
kyc_status
string
One of pending, verified, failed. Initially always pending.
created_at
timestamp
ISO 8601 timestamp of customer creation.
201 Customer created 400 Invalid parameters 409 Customer already exists 422 CURP validation failed
POST /v1/credit/evaluate

Request a credit decision

Submit a credit request for a verified customer. Colend's AI engine evaluates the customer's risk profile using 100+ signals and returns a decision — typically in under 3 minutes.

ℹ️ The customer must have kyc_status: "verified" before calling this endpoint. If KYC is still pending, you'll receive a 422 error.
Request body parameters
customer_id
string
required
Colend customer ID returned from /v1/credit/onboard.
amount
integer
required
Requested amount in MXN pesos, as an integer. Minimum: 500. Maximum: 200000.
currency
string
required
Always MXN in the current version.
purpose
string
optional
Intended use: purchase, working_capital, payroll, equipment, other.
capital_source
string
required
Who provides the capital: colend (Colend funds it) or partner (you fund it).
context
object
optional
Additional signals to improve accuracy: purchase_history, avg_ticket, customer_since. See Context object →
Response fields
credit_id
string
Unique ID for this credit request. Format: crd_XXXXXXXXXX.
decision
string
Credit decision: APPROVED, REJECTED, or PENDING (still evaluating).
approved_amount
integer
Approved amount in MXN. May differ from requested. Only present on APPROVED.
rate
float
Weekly interest rate as a decimal (e.g. 0.032 = 3.2% weekly). Present on APPROVED.
term_weeks
integer
Loan term in weeks. Present on APPROVED.
rejection_reason
string
Machine-readable reason code. Present on REJECTED only. See rejection codes →
evaluated_at
timestamp
ISO 8601 timestamp when the decision was made.
200 Decision returned 202 Evaluation in progress 422 KYC not verified 404 Customer not found
Base URL https://api.colend.com
POST /v1/credit/onboard
Request
terminal
# Onboard a new customer
curl -X POST https://api.colend.com/v1/credit/onboard \
  -H "Authorization: Bearer sk_live_••••••••" \
  -H "Content-Type: application/json" \
  -d '{
    "full_name": "María García López",
    "curp": "GALM890312MDFRCR04",
    "rfc": "GALM890312AB3",
    "phone": "+5215512345678",
    "email": "maria@ejemplo.com",
    "partner_customer_id": "usr_4829"
  }'
Response · 201
json
{
  "customer_id": "cust_9xK2mRpLqN",
  "kyc_status": "pending",
  "partner_customer_id": "usr_4829",
  "created_at": "2026-05-04T14:22:11Z"
}

// ⏱ ~25 seconds later, webhook fires:
{
  "event": "customer.verified",
  "customer_id": "cust_9xK2mRpLqN",
  "kyc_status": "verified"
}
POST /v1/credit/evaluate
Request
terminal
# Request a credit decision
curl -X POST https://api.colend.com/v1/credit/evaluate \
  -H "Authorization: Bearer sk_live_••••••••" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cust_9xK2mRpLqN",
    "amount": 15000,
    "currency": "MXN",
    "purpose": "purchase",
    "capital_source": "colend",
    "context": {
      "customer_since": "2023-08-01",
      "avg_ticket": 2400,
      "purchase_count": 18
    }
  }'
Response · APPROVED
json
{
  "credit_id": "crd_7mXqBvR3pL",
  "decision": "APPROVED",
  "approved_amount": 15000,
  "currency": "MXN",
  "rate": 0.032,
  "term_weeks": 12,
  "capital_source": "colend",
  "weekly_payment": 1401.50,
  "evaluated_at": "2026-05-04T14:24:34Z"
}
Response · REJECTED
json
{
  "credit_id": "crd_4nWzKqM9xP",
  "decision": "REJECTED",
  "rejection_reason": "INSUFFICIENT_CREDIT_HISTORY",
  "evaluated_at": "2026-05-04T14:25:01Z"
}