API for Creditors
Use our REST API to add and list accounts (contracts), and list payments and settlements from your systems. API access is available to creditor accounts upon request.
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. Contact Support@fixpayment.org to request access and receive your API key.
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