Naar de inhoud gaan

Voorbeelden van verzoeken en antwoorden

Een volledige stroom van het creëren van een te ontvangen naar het opnemen van een betaling, plus gemeenschappelijke fout antwoorden.

Openbare API-status

De v1 API maakt gebruik van company-scoped toonder keys en vereist een actieve planning periode. Ontwerp en betaling rapportage eindpunten niet verzenden klantenberichten. Voorbeelden gebruiken plaatshouders .Plakken nooit een echte sleutel in gedeelde code.

Deze voorbeelden maken gebruik van placeholdersleutels en fictieve gegevens.

1. Maak een concept te ontvangen

BASH
curl https://api.remindcash.com/v1/receivables \
  --request POST \
  --header "Authorization: Bearer $REMINDCASH_API_KEY" \
  --header "Idempotency-Key: create-inv-1042-0001" \
  --header "Content-Type: application/json" \
  --data '{
    "customer": { "display_name": "Studio North", "email": "billing@studionorth.example" },
    "amount": "1250.00",
    "currency": "USD",
    "due_date": "2026-10-15",
    "external_reference": "INV-1042",
    "description": "Website redesign"
  }'
JSON
{
    "data": {
        "id": 1,
        "customer_id": 1,
        "amount_minor": 125000,
        "paid_minor": 0,
        "currency": "USD",
        "due_date": "2026-10-15",
        "status": "draft",
        "external_reference": "INV-1042",
        "description": "Website redesign",
        "version": "4e6fea39ae2fab8ccb843657f081d276513739a71787c060a007b65e3acbbbc1"
    }
}

Het dezelfde verzoek opnieuw versturen met dezelfde Idempotency-Key geeft hetzelfde antwoord terug.

2. Verplaats de vervaldatum

BASH
curl https://api.remindcash.com/v1/receivables/1 \
  --request PATCH \
  --header "Authorization: Bearer $REMINDCASH_API_KEY" \
  --header "Idempotency-Key: update-inv-1042-0001" \
  --header "Content-Type: application/json" \
  --data '{
    "expected_version": "4e6fea39ae2fab8ccb843657f081d276513739a71787c060a007b65e3acbbbc1",
    "due_date": "2026-10-20"
  }'
JSON
{
    "data": {
        "id": 1,
        "customer_id": 1,
        "amount_minor": 125000,
        "paid_minor": 0,
        "currency": "USD",
        "due_date": "2026-10-20",
        "status": "draft",
        "external_reference": "INV-1042",
        "description": "Website redesign",
        "version": "aed5e5d947a49b4805d8389b618896872615e9e46f13536a11fbaad167d04b93"
    }
}

3. Neem een gedeeltelijke betaling op

BASH
curl https://api.remindcash.com/v1/receivables/1/payments \
  --request POST \
  --header "Authorization: Bearer $REMINDCASH_API_KEY" \
  --header "Idempotency-Key: payment-inv-1042-0001" \
  --header "Content-Type: application/json" \
  --data '{ "amount": "250.00" }'
JSON
{
    "data": {
        "id": 1,
        "receivable_id": 1,
        "amount_minor": 25000,
        "remaining_after_minor": 100000,
        "status_after": "draft",
        "recorded_at": "2026-10-11T12:58:05.000000Z"
    }
}

4. Annuleer de te ontvangen bedragen

BASH
curl https://api.remindcash.com/v1/receivables/1/cancel \
  --request POST \
  --header "Authorization: Bearer $REMINDCASH_API_KEY" \
  --header "Idempotency-Key: cancel-inv-1042-00001" \
  --header "Content-Type: application/json" \
  --data '{ "reason": "Customer cancelled the project." }'
JSON
{
    "data": {
        "id": 1,
        "status": "cancelled",
        "paid_minor": 25000,
        "version": "049a6c669d9211215001be5a324c3f5c9e057797ef4d89e21c8aa632578a87ae"
    }
}

Vaak voorkomende fouten

Hergebruik van een idempotency sleutel met een ander lichaam:

JSON
{
    "error": {
        "code": "conflict",
        "message": "Request conflicts with current state."
    },
    "request_id": "13676e74-1d59-47c7-b7d0-b6e763cb8766"
}

Bijwerken met een oude expected_version geeft ook 409 conflict terug. Een ontbrekende sleutel geeft:

JSON
{
    "error": {
        "code": "validation_failed",
        "message": "Validation failed.",
        "fields": {
            "Idempotency-Key": [
                "Provide a 16–128 character Idempotency-Key using letters, digits, dots, underscores, colons or hyphens."
            ]
        }
    },
    "request_id": "249b739e-00f7-41ee-875a-266cfd4870bc"
}

Een statuswijziging die niet is toegestaan . . bijvoorbeeld het pauzeren van een concept:

JSON
{
    "error": {
        "code": "validation_failed",
        "message": "Validation failed.",
        "fields": {
            "action": [
                "This status change is not available for the receivable."
            ]
        }
    },
    "request_id": "f9e414bd-5508-4c43-82bb-ce56ced55f77"
}