Customers

Create a terms session

Creates a terms-of-service session. Customer provisioning at a settlement partner is fail-closed on an accepted terms session: POST /customers returns 422 TERMS_ACCEPTANCE_REQUIRED until you submit the terms_session_id of a session that has been accepted.

The response carries id - the session token - once, at creation. OZAV stores only its hash, so it is never returned again. Persist it before you present the terms to your end user.

Present terms_url to the end user, collect their acceptance in your own flow, then record it with POST /customers/terms-sessions/accept. Sessions expire; expires_at is absolute.

Accepts an optional Idempotency-Key. Replaying the same key returns the same session without id - the token is only ever issued once.

post/customers/terms-sessions

Request

  • Base URL
    https://developers.ozav.io/v2
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Headers

Idempotency-Keystring

Optional idempotency key (16-256 characters of [A-Za-z0-9_-]); same semantics as on money-moving operations.

Response

Idempotent replay - the same session, without the token

idstring

The session token, prefixed ts_. Returned only on creation - OZAV stores just its hash. Persist it; it is never returned again, not even on an idempotent replay.

object'terms_session' required
status'pending' | 'accepted' required

pending until you record the acceptance; only accepted satisfies POST /customers. There is no hosted page in between, so there is no intermediate state.

terms_urlstring uri required

The terms to present to your end user.

terms_versionstring required

The version in force when the session was created. Acceptance is recorded against this version, not the current one.

expires_atstring date-time required
accepted_atstring date-time

Present once the acceptance has been recorded.

Changes

No recorded changes to this operation across all 1 revision of this API.