Skip to main content
Prerequisite: KYC status is approved.

Flow

API flows (step-by-step)

1

1) Fetch agreements

Endpoint: GET /agreements
Response: agreements[] (text + links), accepted, acceptedAt.
curl -s \
  -H 'Authorization: Bearer <SESSION_TOKEN>' \
  https://dev-api.machines.cash/partner/v1/agreements
2

2) Show agreements to the user

Render each agreement’s text, and open the links[].url in a new tab. The user must accept all agreements.
3

3) Submit acceptance

Endpoint: POST /agreements
Body:
curl -s \
  -H 'Authorization: Bearer <SESSION_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"accepted": true}' \
  https://dev-api.machines.cash/partner/v1/agreements
If KYC is not approved, these endpoints return 409 with invalid_state.

What this unlocks

After acceptance, the user can create cards, create deposits, and request withdrawals. Those endpoints return 409 until agreements are accepted.