API for Creditors
Add and list accounts (contracts), and list payments and settlements from your own systems. Access is enabled per creditor account on request.
https://fixpayment.org/api/v1/
·
Using Claude, ChatGPT, or Gemini? MCP setup for all assistants · Claude guide
Authentication
Send your API key in one of these headers for all endpoints:
X-API-Key: your-secret-keyAuthorization: Bearer your-secret-key
API access must be enabled for your creditor account. Go to fixpayment.org/creditor, sign in, click Profile in the top menu, then open API Access. Or contact Support@fixpayment.org to request access.
Accounts – Add (POST)
Endpoint
POST https://fixpayment.org/api/v1/accounts.php
Creates a new account (contract). Request body: JSON (see below).
Accounts – List (GET)
Endpoint
GET https://fixpayment.org/api/v1/accounts.php
Query parameters
status(optional) – Filter byaccount_status(e.g. active, settled, paid)limit(optional) – Max results, 1–100 (default 50)offset(optional) – Pagination offset (default 0)
Response
{
"accounts": [
{
"account_id": 1,
"account_number": "ACC-001",
"debtor_name": "Jane Doe",
"current_balance": "1500.00",
"account_status": "active"
}
],
"total": 123,
"limit": 50,
"offset": 0
}
Accounts – Get one (GET)
Endpoint
GET https://fixpayment.org/api/v1/accounts.php?account_id=123
Returns a single account if it belongs to your creditor. 404 if not found.
Response
{
"account": {
"account_id": 123,
"account_number": "ACC-001",
"original_creditor": "Acme Corp",
"debtor_name": "Jane Doe",
"debtor_phone": "555-123-4567",
"original_balance": "5000.00",
"current_balance": "3500.00",
"account_status": "active",
"created_at": "2024-01-15 10:00:00"
}
}
Payments – List (GET)
Endpoint
GET https://fixpayment.org/api/v1/payments.php
Query parameters
limit(optional) – Max results, 1–100 (default 50)offset(optional) – Pagination offset (default 0)
Response
{
"payments": [
{
"payment_id": 1,
"account_id": 10,
"account_number": "ACC-001",
"debtor_name": "Jane Doe",
"payment_date": "2024-02-01 14:30:00",
"payment_amount": "250.00",
"payment_status": "completed",
"payment_method": "card",
"transaction_id": "txn_abc123"
}
],
"total": 45,
"limit": 50,
"offset": 0
}
Settlements – List (GET)
Endpoint
GET https://fixpayment.org/api/v1/settlements.php
Query parameters
limit(optional) – Max results, 1–100 (default 50)offset(optional) – Pagination offset (default 0)
Response
{
"settlements": [
{
"settlement_id": 1,
"account_id": 10,
"account_number": "ACC-001",
"debtor_name": "Jane Doe",
"original_balance": "5000.00",
"offer_amount": "2500.00",
"savings_amount": "2500.00",
"approval_status": "approved",
"offer_date": "2024-01-20 09:00:00"
}
],
"total": 12,
"limit": 50,
"offset": 0
}
POST body (Add account) – JSON
For POST https://fixpayment.org/api/v1/accounts.php only.
Required fields
| Field | Type | Description |
|---|---|---|
account_number | string | Unique account or reference number |
debtor_name | string | Full name of debtor |
debtor_phone | string | Phone number |
original_balance | number | Original balance (must be > 0) |
current_balance | number | Current balance (must be > 0) |
Optional fields
| Field | Type | Description |
|---|---|---|
original_creditor | string | Original creditor name |
debtor_email | string | Valid email address |
debtor_dob | string | Date of birth (YYYY-MM-DD) |
debtor_address | string | Street address |
debtor_city | string | City |
debtor_state | string | State (e.g. CA) |
debtor_zip | string | ZIP code |
interest_rate | number | Interest rate |
date_opened | string | YYYY-MM-DD |
date_delinquent | string | YYYY-MM-DD |
days_past_due | integer | Days past due |
notes | string | Free-text notes |
debtor_ssn | string | SSN (XXX-XX-XXXX); stored encrypted |
Examples
List accounts (GET)
curl -H "X-API-Key: YOUR_API_KEY" "https://fixpayment.org/api/v1/accounts.php?limit=10"
Add account (POST)
curl -X POST https://fixpayment.org/api/v1/accounts.php \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"account_number": "CONTRACT-2024-001",
"debtor_name": "Acme Corp",
"debtor_phone": "555-123-4567",
"original_balance": 10000,
"current_balance": 8500,
"debtor_email": "billing@acme.com",
"notes": "Added via API"
}'
Success (201) for POST
{
"success": true,
"account_id": 123,
"account_number": "CONTRACT-2024-001"
}
Error responses
All errors return JSON: { "error": "message" }. Validation errors may also include an errors array.
- 400 – Invalid or missing required fields (POST)
- 401 – Missing API key
- 403 – Invalid API key or API not enabled for your account
- 404 – Account not found (GET single account)
- 405 – Method not allowed
- 409 – An account with this
account_numberalready exists (POST) - 500 – Server error