> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracefinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit account for review

> Submits an account for compliance review after all requirements are fulfilled.



## OpenAPI

````yaml apis/fx-account/openapi.yml POST /v1/accounts/{accountId}/review
openapi: 3.1.1
info:
  title: FX Account API
  version: 1.0.0
  description: API for managing multi-currency accounts on the Trace Finance platform.
servers:
  - url: https://api.sandbox.tracefinance.com
    description: Sandbox
security:
  - bearerAuth: []
tags:
  - name: Accounts
    description: Create, list, and manage multi-currency accounts.
  - name: Beneficial owners
    description: Manage beneficial owners (UBOs) for company-owned accounts.
  - name: Funding instructions
    description: Retrieve funding instructions for depositing into an account.
  - name: Balances
    description: Retrieve fiat and crypto balances for an account.
paths:
  /v1/accounts/{accountId}/review:
    post:
      tags:
        - Accounts
      summary: Submit account for review
      description: >-
        Submits an account for compliance review. All required documents and
        data must be provided before calling this endpoint.
      operationId: submitAccountForReview
      parameters:
        - $ref: '#/components/parameters/AccountId'
        - $ref: '#/components/parameters/TraceVersion'
        - $ref: '#/components/parameters/IdempotencyKey'
      responses:
        '202':
          description: Account submitted for review.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          description: Account not found.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                accountNotFound:
                  $ref: '#/components/examples/AccountNotFound'
        '409':
          description: Account state conflict.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                noProviderAccountRequiresAnalysis:
                  summary: Account has no provider accounts awaiting analysis
                  value:
                    code: NO_PROVIDER_ACCOUNT_REQUIRES_ANALYSIS
                    message: Account has no provider accounts requiring analysis
                    details:
                      accountId: 5b7c1f2a-3d4e-4f8a-9b1c-2d3e4f5a6b7c
                reviewAlreadySubmitted:
                  summary: Review has already been submitted for the account
                  value:
                    code: REVIEW_ALREADY_SUBMITTED
                    message: Review already submitted for account
                    details:
                      accountId: 5b7c1f2a-3d4e-4f8a-9b1c-2d3e4f5a6b7c
        '422':
          description: Business rule violation.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missingDocumentsForReview:
                  summary: Required documents are missing or rejected
                  value:
                    code: MISSING_DOCUMENTS_FOR_REVIEW
                    message: Not all documents uploaded for review submission
                    details:
                      accountId: 5b7c1f2a-3d4e-4f8a-9b1c-2d3e4f5a6b7c
                      missingDocumentTypes:
                        - ARTICLES_OF_ASSOCIATION
                        - PROOF_OF_ADDRESS
                missingUboVerification:
                  summary: Company account has no approved UBOs
                  value:
                    code: MISSING_DOCUMENTS_FOR_REVIEW
                    message: Not all documents uploaded for review submission
                    details:
                      accountId: 5b7c1f2a-3d4e-4f8a-9b1c-2d3e4f5a6b7c
                      missingDocumentTypes:
                        - UBO_VERIFICATION
components:
  parameters:
    AccountId:
      name: accountId
      in: path
      required: true
      description: UUID of the account.
      schema:
        type: string
        format: uuid
    TraceVersion:
      name: X-Trace-Version
      in: header
      required: false
      description: API version. Omit to use the default version.
      schema:
        type: string
        example: '1'
    IdempotencyKey:
      name: X-Idempotency-Key
      in: header
      required: true
      description: >-
        Unique key to ensure idempotent request processing. Required on all
        `POST`, `PUT`, and `PATCH` requests.
      schema:
        type: string
        format: uuid
  headers:
    RequestId:
      description: >-
        Unique request identifier emitted on every response. Reference it when
        contacting Trace Finance support so we can trace the request end-to-end.
        See [Errors](/guides/principles/errors).
      schema:
        type: string
        format: uuid
  responses:
    UnauthorizedError:
      description: Missing or invalid authentication token.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            invalidToken:
              $ref: '#/components/examples/InvalidToken'
            expiredToken:
              $ref: '#/components/examples/ExpiredToken'
  schemas:
    ErrorResponse:
      type: object
      description: >-
        Standard error envelope. The HTTP response also carries an
        `X-Request-Id` header — reference it when contacting Trace Finance
        support. See [Errors](/guides/principles/errors).
      properties:
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable description.
        details:
          type: object
          additionalProperties: true
      required:
        - code
        - message
  examples:
    AccountNotFound:
      summary: Account does not exist for the authenticated customer
      value:
        code: RESOURCE_NOT_FOUND
        message: >-
          Account with given parameters
          [Account.id:5b7c1f2a-3d4e-4f8a-9b1c-2d3e4f5a6b7c,
          Customer.id:c1a2b3c4-d5e6-7890-abcd-ef1234567890] not found
        details:
          resource: Account
          parameters:
            Account.id: 5b7c1f2a-3d4e-4f8a-9b1c-2d3e4f5a6b7c
            Customer.id: c1a2b3c4-d5e6-7890-abcd-ef1234567890
    InvalidToken:
      summary: Bearer token is invalid or malformed
      value:
        code: INVALID_ACCESS_TOKEN
        message: Invalid access token
        details: {}
    ExpiredToken:
      summary: Bearer token has expired
      value:
        code: EXPIRED_ACCESS_TOKEN
        message: Expired access token
        details: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT bearer token. Include as `Authorization: Bearer <token>`. See the
        [Authentication](/guides/authentication) guide for how to obtain one.

````