REST API

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.

X-API-Key / Bearer JSON bodies v1 endpoints
API base: https://fixpayment.org/api/v1/  ·  Using Claude, ChatGPT, or Gemini? MCP setup for all assistants · Claude guide

Request API access (Support@fixpayment.org)

Authentication

Send your API key in one of these headers for all endpoints:

  • X-API-Key: your-secret-key
  • Authorization: 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 by account_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

FieldTypeDescription
account_numberstringUnique account or reference number
debtor_namestringFull name of debtor
debtor_phonestringPhone number
original_balancenumberOriginal balance (must be > 0)
current_balancenumberCurrent balance (must be > 0)

Optional fields

FieldTypeDescription
original_creditorstringOriginal creditor name
debtor_emailstringValid email address
debtor_dobstringDate of birth (YYYY-MM-DD)
debtor_addressstringStreet address
debtor_citystringCity
debtor_statestringState (e.g. CA)
debtor_zipstringZIP code
interest_ratenumberInterest rate
date_openedstringYYYY-MM-DD
date_delinquentstringYYYY-MM-DD
days_past_dueintegerDays past due
notesstringFree-text notes
debtor_ssnstringSSN (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_number already exists (POST)
  • 500 – Server error

Creditor portal  |  Contact us