POST
Accept legal documents
When currentStep is LEGAL_AGREEMENTS, first fetch the application’s current legal documents with GET /v1/applications/{applicationId}/documents/legal. Display the required documents, then submit their id, hash, and version together with the documentSetVersion returned by that request. The acceptance is validated against the current document set before the request returns; a 200 means it was accepted, and the platform then records it in the background. Keep polling GET /v2/applications. For a few seconds after the acceptance, currentStep is PROCESSING with no requiredActions while the platform records it: show a loader, don’t ask the user to accept again. The application then moves to its next step. If recording fails, LEGAL_AGREEMENTS comes back (within about two minutes) so the user can accept again. On GET /v1/applications the step stays LEGAL_AGREEMENTS for those few seconds, so after a successful accept keep a loader up until currentStep changes.

Authorizations

Authorization
string
header
required

The user's access_token from authentication. The program and environment (sandbox/prod) are read from the token.

Path Parameters

applicationId
string
required

The application id from create / get.

Query Parameters

programId
string

Required on the Management API, where the token carries no program — omitting it returns 400. Customer API callers resolve the program from their token and should omit it; a value sent there is ignored.

Body

application/json

Unrecognised fields are ignored rather than rejected.

documentSetVersion
string
required

Must match the current program document set version returned by the legal-document GET endpoint.

Example:

"1.0.0"

acceptedDocuments
object[]
required

Accepted documents copied from the legal-document GET response. Must include every required document for the account type.

Minimum array length: 1

Response

Legal documents accepted and persisted

success
boolean
Example:

true

data
object