Resend the OTP for the in-flight closure
Sends a new OTP for the closure that is still AWAITING_OTP. Requires an authenticated, active user. When the OTP session expired at the custodian bank, this call registers a new closure with the same reasons. It then sends the new closure's OTP. Call GET /v1/user/accounts/current/closure afterward to read the current closure id. Returns 404 when no closure is in progress.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/user/accounts/current/closure/resend"{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "FORBIDDEN", "description": "Forbidden"}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}Confirm the OTP for the in-flight closure POST
Verifies the OTP code and moves the closure to `OTP_CONFIRMED`. Requires an authenticated, active user. The custodian bank then reviews the request and moves the account to `CLOSED` only when it approves. Returns 409 with code `ACCOUNT_HAS_NON_ZERO_BALANCE` when money arrived on the account after the closure started. Returns 404 when no closure is in progress.
Start verifying the account's email POST
Asks the banking provider to verify the account's registered email and sends an OTP to it. Requires an authenticated, active user. If a verification is already in progress, the call returns that verification instead of starting a new one. Returns 404 when the caller has no `ACTIVE` current account.