POST/simulate/create-account

Simulate Create Account

Performs the real account-opening request a supervisor would make from the console — without requiring the supervisor right — and a real account follows. Unlike the other simulate routes, this does not fake a state. It moves the application to Account Requested and hands off to the account-opening flow.

Precondition: the application must be approved. Account opening requires every step to be approved: form, documents, KYC, sanctions screening, and risk assessment. Use the other simulate routes to get there first. A business application additionally needs a Certificate of Incorporation with a usable attachment.

One-way door: the application becomes locked once requested, and further broker submits are rejected.

Asynchronous: a 200 means the request was accepted, not that the account exists. Poll AccountOpeningStatus on GET /application/detail/{id}, or wait for the account.created webhook. A failed creation stays requested and is picked up by an FV Bank agent; nothing is signalled to the broker.

Blocked in production. Returns 400 when simulation is disabled (broker.simulate.enabled=false or production environment).

Headers

FieldTypeRequiredPossible valuesDescription
session-tokenstringRequired—

SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header.

Request body

FieldTypeRequiredPossible valuesDescription
IdstringRequired—

Application ID. The application must already be fully approved.

Example request

{
  "Id": "6a3a2f324c2e4b093dce834b"
}

Response

FieldTypePossible valuesDescription
ResponseCodeinteger200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503

API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized).

ResponseMessagestringSuccess | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity

Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome.

ResponseDataobjectPlease refer to below example for response body

`ApplicationId` is the application that was requested. `AccountOpeningStatus` is `requested` on accept — the account is not created yet.

Example response

{
  "ResponseCode": 200,
  "ResponseMessage": "Success",
  "ResponseData": {
    "ApplicationId": "6a3a2f324c2e4b093dce834b",
    "AccountOpeningStatus": "requested"
  }
}

A `200` only means the request was accepted. Poll `AccountOpeningStatus` on application detail, or wait for `account.created`. Returns 400 if simulation is disabled, the application is not fully approved, or the application is already locked.

Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.

Search guide books, endpoints, paths, or parameters

↑↓navigate↵openEscclose