Onboarding

Submit business information

Changed on

Sends the entity and its related persons as one declaration. This covers everything except files.

One draft per customer. Posting again before you submit the verification replaces the draft rather than creating a second one. Once the verification is submitted, the draft is frozen.

The response carries a relatedPersonId for each person you sent. Person-level document uploads need those IDs, which is why this call comes before documents.

post/v1/customers/{customerId}/kyb

Request

  • Base URL
    https://api.sandbox.alfredpay.io
  • URL
    https://api.sandbox.alfredpay.io/v1/customers/{customerId}/kyb
  • Auth
    • HTTP bearer
    • or API key in header api-key and API key in header api-secret

Headers

Idempotency-Keystring uuid required

Required on every state-changing POST, simulators included; the only exempt POST is …/verifications/preflight. Replay (same key, same body) returns the original response with Idempotent-Replayed: true; same key with a different body → 409 idempotency_conflict. Keys are UUIDs, scoped to the API key, retained for 24 hours.

Request body

Example request

{
  "kybSubmission": {
    "relatedPersons": [
      {
        "identifiers": [
          {
            "type": "ssn",
            "number": "123456789"
          }
        ]
      }
    ]
  }
}

Response

Draft created or replaced

submissionIdstring
customerIdstring
status'DRAFT' | 'FROZEN'
createdAtstring date-time

Changes