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

> ## Agent Instructions
> Money amounts are always major-unit decimal strings (e.g. "1000.00"), never floats and never minor units, in every request, response, and webhook payload.
> Authentication is OAuth 2.0 client credentials: exchange the Client ID and Client Secret at the Token URL for a 24-hour JWT and cache it; do not request a token per call.
> Set a unique clientRef on every money-moving request; it is the idempotency key, and retries return the original resource.
> Quotes are single-use, intent-locked, and expire fast: always read expiresAt, consume the quote with the executor matching its intent, and re-quote on expiry instead of retrying.
> Prefer webhooks over polling for payout, order, application, and virtual-account status tracking.
> Use the sandbox (api.sandbox.zuba.com) with its deterministic magic values before touching production.

# Supply provider-required attributes for an application

> Fills attributes a payment provider’s KYC requires that Zuba’s review does not assess: the applicant’s own attributes when the applicant is the beneficial owner, the business industry code, and the market the business primarily serves. Accepted in any application status, and only into a field the application has no value for; correcting an existing value goes through PATCH while the application is still editable.



## OpenAPI

````yaml /openapi.json post /v2/applications/{id}/enrich
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Comprehensive payment platform API supporting fiat and crypto payments,
    currency conversion, and compliance management
  title: Zuba Payment Platform API
  version: '1.0'
servers: []
security: []
tags:
  - description: Manage M2M API keys and credentials
    name: API Keys
  - description: Internal ledger accounts and transactions
    name: Ledger
  - description: Handle incoming payments and deposits
    name: Pay-ins
  - description: Manage payouts, beneficiaries, and SEPA transfers
    name: Payouts
  - description: Manage outbound webhook endpoints and deliveries
    name: Webhooks
paths:
  /v2/applications/{id}/enrich:
    post:
      tags:
        - Applications (v2)
      summary: Supply provider-required attributes for an application
      description: >-
        Fills attributes a payment provider’s KYC requires that Zuba’s review
        does not assess: the applicant’s own attributes when the applicant is
        the beneficial owner, the business industry code, and the market the
        business primarily serves. Accepted in any application status, and only
        into a field the application has no value for; correcting an existing
        value goes through PATCH while the application is still editable.
      operationId: ApplicationV2Controller_enrich
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichApplicationDto'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationDto'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: ''
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericErrorResponseDto'
          description: ''
        '404':
          description: Application not found
      security:
        - bearer: []
components:
  schemas:
    EnrichApplicationDto:
      properties:
        applicantGender:
          description: Gender of the applicant, when the applicant is the beneficial owner.
          enum:
            - male
            - female
            - other
          type: string
        applicantOccupationCode:
          description: >-
            US Standard Occupational Classification code for the applicant, 6
            digits with any dashes removed.
          example: '111011'
          type: string
        industryCode:
          description: >-
            North American Industry Classification System code for the business,
            exactly 6 digits.
          example: '541611'
          type: string
        targetMarket:
          description: The market the business primarily serves.
          enum:
            - commercial
            - retail
            - government
            - other
          type: string
        targetMarketOtherDescription:
          description: >-
            Describes the market served, and belongs to the `other` market
            alone. Both this and `targetMarket` are written once into a
            still-empty column, so the value the application already records
            wins over the one sent here and the pair is judged on the result: a
            description is required when that result is `other`, and refused
            when it is a named market. A description may be sent on its own to
            qualify an `other` already on file.
          type: string
      type: object
    ApplicationDto:
      properties:
        accountId:
          description: The account this application belongs to (self or sub-account).
          format: uuid
          type: string
        applicationType:
          enum:
            - business
            - individual
          type: string
        createdAt:
          format: date-time
          type: string
        editableSections:
          description: >-
            When status is more_info_requested, the sections you may edit and
            resubmit. `applicant` / `businessInfo` / `businessActivity` /
            `individualActivity` are edited via PATCH; `persons` via the
            /persons sub-resource (and covers that person’s own documents);
            `documents` is company-level documents via the /documents
            sub-resource. Empty otherwise.
          items:
            type: string
          type: array
        id:
          format: uuid
          type: string
        moreInfoReason:
          description: >-
            When status is more_info_requested, the reviewer’s notes describing
            what needs to change. Null otherwise.
          type: string
        registeredName:
          description: >-
            The name the company is registered under, so a directory can label
            an application without reading the full record.
          type: string
        riskLevel:
          enum:
            - low
            - medium
            - high
            - prohibited
          type: string
        screeningStatus:
          enum:
            - pending
            - in_progress
            - clear
            - flagged
            - failed
            - timed_out
          type: string
        status:
          enum:
            - draft
            - under_review
            - approved
            - more_info_requested
            - rejected
          type: string
      required:
        - id
        - accountId
        - applicationType
        - status
        - createdAt
      type: object
    GenericErrorResponseDto:
      properties:
        error:
          description: Error type identifier
          example: BAD_REQUEST
          type: string
        message:
          description: Error message
          example: Bad Request
          type: string
        path:
          description: Request path that generated the error
          example: /v1/resource
          type: string
        statusCode:
          description: HTTP status code
          example: 400
          type: number
        timestamp:
          description: ISO timestamp when the error occurred
          example: '2024-01-15T10:30:00.000Z'
          type: string
      required:
        - statusCode
        - message
        - error
        - timestamp
        - path
      type: object
  securitySchemes:
    bearer:
      bearerFormat: JWT
      description: Enter Auth0 JWT token
      scheme: bearer
      type: http

````