Skip to main content
POST
/
payments
Report a payment
curl --request POST \
  --url https://vvdufluovypptsnkihyv.supabase.co/functions/v1/payments \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "tradeline_id": "660e8400-e29b-41d4-a716-446655440001",
  "payment_date": "2026-02-01",
  "period_start": "2026-02-01",
  "period_end": "2026-02-28",
  "amount_due": 150000,
  "amount_paid": 150000,
  "payment_status": "on_time",
  "external_payment_id": "sp-txn-abc123"
}
'
{
  "id": "770e8400-e29b-41d4-a716-446655440002",
  "tradeline_id": "660e8400-e29b-41d4-a716-446655440001",
  "payment_date": "2026-02-01",
  "period_start": "2026-02-01",
  "period_end": "2026-02-28",
  "amount_due": 150000,
  "amount_paid": 150000,
  "payment_status": "on_time",
  "reported": false,
  "reported_at": null,
  "external_payment_id": "sp-txn-abc123",
  "created_at": "2026-02-16T06:17:02.898Z",
  "tradeline_status": {
    "account_status": "current",
    "current_balance": 0,
    "amount_past_due": 0,
    "payment_history": "0"
  }
}

Authorizations

x-api-key
string
header
required

API key in the format sk_live_<token> (production) or sk_test_<token> (sandbox). Contact Cove to obtain your API key.

Body

application/json
tradeline_id
string<uuid>
required
payment_date
string<date>
required
amount_due
integer
required

In cents

Required range: x >= 0
amount_paid
integer
required

In cents

Required range: x >= 0
payment_status
enum<string>
required

Status of a reported payment

Available options:
on_time,
late_30,
late_60,
late_90,
late_120,
late_150,
late_180_plus,
missed,
partial
period_start
string<date> | null
period_end
string<date> | null
external_payment_id
string | null

Your internal transaction ID

Maximum string length: 255

Response

Payment recorded with updated tradeline status

Payment record with updated tradeline status snapshot

id
string<uuid>
tradeline_id
string<uuid>
payment_date
string<date>
period_start
string<date> | null
period_end
string<date> | null
amount_due
integer

In cents

amount_paid
integer

In cents

payment_status
enum<string>

Status of a reported payment

Available options:
on_time,
late_30,
late_60,
late_90,
late_120,
late_150,
late_180_plus,
missed,
partial
reported
boolean

Whether included in a Metro 2 submission

reported_at
string<date-time> | null
external_payment_id
string | null
created_at
string<date-time>
tradeline_status
object