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

# Resubmit Sub-Merchant KYC

> Import a KYC you hold in Sumsub again: share_token with kyc_questionnaire, same rules as create. kyc_level CDD (default) is accepted for a merchant with no KYC yet, at SDD level, or with kyc_next_action cdd_required; SDD only for a merchant with no KYC yet. Answers 202 with kyc_status pending (accepted for an SDD merchant, who keeps trading); the result arrives as an Org.Updated webhook. Errors: 409 not_required or not_eligible, 424 share_token_rejected or kyc_questionnaire_rejected.



## OpenAPI

````yaml /openapi.yaml post /partners/orgs/{orgId}/kyc/resubmit
openapi: 3.1.0
info:
  contact:
    email: support@boomfi.xyz
    name: API Support
  description: >-
    The BoomFi Merchants API provides a set of endpoints for merchants to manage
    their accounts, transactions, and more. Hosts differ per brand/environment;
    use the brand-specific base URL from the docs.
  title: ZBX Merchants API
  version: '1.0'
servers:
  - url: https://mapi.zbx.com/v1
    description: Production
security: []
tags:
  - description: Payment links
    name: Paylinks
  - description: Billing plans
    name: Plans
  - description: Subscriptions
    name: Subscriptions
  - description: Customer records
    name: Customers
  - description: Invoices
    name: Invoices
  - description: Payments
    name: Payments
  - description: Organisation events
    name: Events
  - description: Organisation profile and display settings
    name: Organisation
  - description: Webhook and request-signing secrets
    name: Secrets
  - description: Settlement accounts
    name: Accounts
  - name: External Accounts
  - description: Managed virtual accounts, balances, pay-in, and payout
    name: Virtual Accounts
  - description: Partner-managed accounts, virtual accounts, pay-in, and payout
    name: Partners
  - description: Partner maintain-balance automations
    name: Partner Balance Monitoring
  - description: Tradeable currencies, instruments, and swap targets
    name: Instruments
  - description: RFQ quotes
    name: Quotes
  - description: RFQ orders and one-click trades
    name: Orders
  - description: Executed trades
    name: Trades
paths:
  /partners/orgs/{orgId}/kyc/resubmit:
    post:
      tags:
        - Partners
      summary: Resubmit Sub-Merchant KYC
      description: >-
        Import a KYC you hold in Sumsub again: share_token with
        kyc_questionnaire, same rules as create. kyc_level CDD (default) is
        accepted for a merchant with no KYC yet, at SDD level, or with
        kyc_next_action cdd_required; SDD only for a merchant with no KYC yet.
        Answers 202 with kyc_status pending (accepted for an SDD merchant, who
        keeps trading); the result arrives as an Org.Updated webhook. Errors:
        409 not_required or not_eligible, 424 share_token_rejected or
        kyc_questionnaire_rejected.
      parameters:
        - description: Organisation ID returned by create
          in: path
          name: orgId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/onboarding.ResubmitZBXKYCRequest'
        description: Share token, level and answers to import
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/partners.SubmitKYCResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '424':
          description: Failed Dependency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
      security:
        - ApiKeyAuth: []
          ApiNonce: []
          ApiSignature: []
components:
  schemas:
    onboarding.ResubmitZBXKYCRequest:
      properties:
        kyc_level:
          description: >-
            KYC level to import share_token at: CDD (the default) when the
            Sumsub applicant holds an identity document,

            liveness and a proof of address issued in the last 3 months; SDD
            when it holds only the identity document.

            SDD is accepted only before the merchant is verified. Only accepted
            with share_token.
          enum:
            - SDD
            - CDD
          example: CDD
          type: string
        kyc_questionnaire:
          allOf:
            - $ref: '#/components/schemas/onboarding.ZBXKYCQuestionnaire'
          description: >-
            Answers to ZBX's KYC questionnaire. Required with share_token, and
            only accepted with it. With kyc_level SDD

            only the six answers from sdd_country_select to acting_capacity are
            used; the rest are ignored.
        share_token:
          description: >-
            Sumsub share token from your own Sumsub account, generated for ZBX's
            Sumsub client id.

            Required, with kyc_questionnaire.
          type: string
      type: object
    partners.SubmitKYCResponse:
      properties:
        data:
          allOf:
            - $ref: '#/components/schemas/onboarding.SubmitZBXKYCResponse'
          description: The submission outcome.
        error:
          description: True when the request failed.
          type: boolean
        message:
          description: Human-readable status or error message.
          type: string
      type: object
    internal.ErrorResponse:
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/internal.ErrorStruct'
          description: Error details including HTTP-style code and message.
      type: object
    onboarding.ZBXKYCQuestionnaire:
      properties:
        acting_capacity:
          description: >-
            Acting capacity: 156 own behalf, 157 agent or on behalf of another
            person (ZBX reviews these manually).
          enum:
            - '156'
            - '157'
          example: '156'
          type: string
        annual_income:
          description: >-
            Annual gross income in EUR: 74 up to 10,000; 75 10,000-50,000; 76
            50,000-300,000; 77 more than 300,000.
          enum:
            - '74'
            - '75'
            - '76'
            - '77'
          example: '75'
          type: string
        employment_jurisdiction:
          description: >-
            Country of employment, ISO 3166-1 alpha-2, or N/A. Optional only
            when employment_type_or_status is 17.
          example: MT
          type: string
        employment_type_or_status:
          description: >-
            Employment status: 15 employed, 16 self-employed or business owner,
            17 unemployed, 18 retired, 19 student, carer or on benefits.
          enum:
            - '15'
            - '16'
            - '17'
            - '18'
            - '19'
          example: '16'
          type: string
        expected_deposit_one_year:
          description: >-
            Expected deposits over one year in EUR: 83 up to 10,000; 84
            10,000-150,000; 85 more than 150,000.
          enum:
            - '83'
            - '84'
            - '85'
          example: '83'
          type: string
        hnwi_str:
          description: >-
            Approximate net worth in EUR: 78 under 100,000; 79
            100,000-1,000,000; 80 1,000,000 or more.
          enum:
            - '78'
            - '79'
            - '80'
          example: '79'
          type: string
        industry:
          description: >-
            Industry: option id 20-52, or 53 (other) with optional free text as
            53:<text>, up to 100 characters.
          example: '51'
          type: string
        investment_citizenship:
          description: 'Investor immigration programme (golden visa): 81 yes, 82 no.'
          enum:
            - '81'
            - '82'
          example: '82'
          type: string
        sdd_country_select:
          description: Country of residence, ISO 3166-1 alpha-2.
          example: MT
          type: string
        source_of_funds:
          description: >-
            Source of funds: comma-separated option ids 54-70, 72 or 73. 71
            (third-party funding) is not accepted here.
          example: 66,70
          type: string
        source_of_funds_of_country:
          description: Countries the funds come from, comma-separated ISO 3166-1 alpha-2.
          example: MT,DE
          type: string
        source_of_wealth_of_country:
          description: >-
            Countries the wealth was accumulated in, comma-separated ISO 3166-1
            alpha-2.
          example: MT
          type: string
      type: object
    onboarding.SubmitZBXKYCResponse:
      properties:
        kyc_next_action:
          description: >-
            What ZBX still asks of the merchant: tin_required or edd_required
            after a submission.

            Omitted when nothing is asked.
          type: string
        kyc_status:
          description: >-
            Merchant KYC state ZBX reports after the submission. Omitted when
            ZBX has no verdict to report.
          enum:
            - pending
            - accepted
            - rejected
          type: string
        org_id:
          description: Organisation ID.
          type: string
      type: object
    internal.ErrorStruct:
      properties:
        code:
          description: |-
            Error code
            Example: 400
          example: 400
          type: integer
        errors:
          description: List of errors
          items:
            $ref: '#/components/schemas/internal.SingleError'
          type: array
        message:
          description: |-
            Error message
            Example: Insufficient quantity
          example: Insufficient quantity
          type: string
      type: object
    internal.SingleError:
      properties:
        domain:
          description: |-
            Domain
            Example: orders
          example: orders
          type: string
        reason:
          description: |-
            Error Reason
            Example: InsufficientQuantity
          example: InsufficientQuantity
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-KEY
      type: apiKey
    ApiNonce:
      in: header
      name: X-API-Nonce
      type: apiKey
    ApiSignature:
      in: header
      name: X-API-Signature
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.