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.

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. 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 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