Cowdidocs
API ReferenceCurrent account closures

Confirm the OTP for the in-flight closure

Verifies the code and moves the closure to OTP_CONFIRMED. The custodian bank then reviews the request; the account becomes CLOSED once the closure is approved. Returns 409 ACCOUNT_HAS_NON_ZERO_BALANCE when money arrived after the closure was started — the balance must be withdrawn before the closure can be confirmed. Returns 404 when no closure is in progress.

POST
/v1/user/accounts/current/close/otp/confirm

Request Body

application/json

Request body for confirming the OTP on a current-account closure

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/user/accounts/current/close/otp/confirm" \  -H "Content-Type: application/json" \  -d '{    "otp_code": "123456"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "status": "AWAITING_OTP",  "initiated_by": "USER",  "reasons": [    "NO_LONGER_USING"  ],  "created_at": "2019-08-24T14:15:22Z",  "otp_confirmed_at": "2019-08-24T14:15:22Z",  "completed_at": "2019-08-24T14:15:22Z",  "rejection_reason": "string",  "resource_id": "string"}
{  "code": "BAD_REQUEST",  "description": "Bad Request"}
{  "code": "UNAUTHORISED",  "description": "Unauthorised"}
{  "code": "WAITING_LIST",  "description": "User is in the waiting list"}
{  "code": "TOO_MANY_REQUESTS",  "description": "Too Many Requests"}
{  "code": "INTERNAL_SERVER_ERROR",  "description": "Internal Server Error"}