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

# Add UBN account

> Adds a UBN account as a new receiving method.



## OpenAPI

````yaml /raas/swagger-partner.json post /user/funding/source/ubn-account/add/{userToken}
openapi: 3.0.0
info:
  title: ''
  version: 0.0.1
servers:
  - url: https://raas-partner-cv.nomas.cash/v1
security: []
paths:
  /user/funding/source/ubn-account/add/{userToken}:
    post:
      tags:
        - Funding
      summary: Add UBN account
      description: Adds a UBN account as a new receiving method.
      operationId: addUBNAccount
      parameters:
        - description: User token.
          in: path
          name: userToken
          required: true
          schema:
            type: string
      requestBody:
        description: Validated payload with required parameters.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddUBNParams'
            example:
              number: '002320275621938815'
              currency: MXN
              country: MX
      responses:
        '200':
          description: >-
            **200 — OK.** UBN added.


            **Scenarios for this response**:


            | Scenario | How to reproduce | Typical `code` / body |

            |------------|------------------|------------------------|

            | Valid UBN | Valid user + subscriber + accepted UBN. |
            `AddPaymentMethodResponse` |


            See also [Full scenario
            matrix](/raas/guides/testing-sandbox#add-ubn-account-scenario-matrix).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddPaymentMethodResponse'
              example:
                id: 6d41ada5-4ecd-4bc4-a561-9a0577a39da7
                status: Created
                name: UBN-7890
                isPrimary: false
                createdAt: '2026-04-13T17:47:35.667Z'
        '400':
          description: >-
            **400 — Bad request.**


            **Scenarios for this response**:


            | Scenario | How to reproduce | Typical `code` / body |

            |------------|------------------|------------------------|

            | UBN validation | `InvalidCard` / algorithm failure. |
            `UBN_VALIDATION_ERROR` |

            | Duplicate UBN | `PAYMENTMETHOD_ALREADY_EXISTS`. |
            `UBN_ALREADY_ADDED` |


            See also [Full scenario
            matrix](/raas/guides/testing-sandbox#add-ubn-account-scenario-matrix).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                reason: UBN validation failed or duplicate account.
        '401':
          description: >-
            **401 — Unauthorized.**


            **Scenarios for this response**:


            | Scenario | How to reproduce | Typical `code` / body |

            |------------|------------------|------------------------|

            | Missing / bad API key | Omit `api_key` or invalid key for combined
            scopes on this route. | OpenAPI `401` via
            `@Response<ErrorResponse>`. |


            See also [Full scenario
            matrix](/raas/guides/testing-sandbox#add-ubn-account-scenario-matrix).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                reason: Missing or invalid API key
        '403':
          description: >-
            **403 — Forbidden.**


            **Scenarios for this response**:


            | Scenario | How to reproduce | Typical `code` / body |

            |------------|------------------|------------------------|

            | User / tenant | Unknown user or missing tenant on record. |
            `USER_NOT_FOUND` / `INVALID_TENANT` |


            See also [Full scenario
            matrix](/raas/guides/testing-sandbox#add-ubn-account-scenario-matrix).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: >-
            **500 — Internal server error.**


            **Scenarios for this response**:


            | Scenario | How to reproduce | Typical `code` / body |

            |------------|------------------|------------------------|

            | Platform failure | `NumiError` / add UBN errors. | Mapped
            `NumiError` or generic internal |


            See also [Full scenario
            matrix](/raas/guides/testing-sandbox#add-ubn-account-scenario-matrix).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                reason: An unhandled error has occurred
      security:
        - api_key:
            - partner
            - partner_full
            - partner_send
components:
  schemas:
    AddUBNParams:
      description: >-
        Add a **UBN** (Uniform Bank Number-style account) as a receiving method
        in partner funding flows.
      properties:
        number:
          type: string
          description: UBN number
        isPrimary:
          type: boolean
          description: Is primary UBN?
        currency:
          type: string
          description: |-
            Currency
            ISO 4217 format
        country:
          type: string
          description: |-
            Country
            ISO 3166-1 alpha-2 format
        bankName:
          type: string
          description: Bank name
      required:
        - number
      type: object
      additionalProperties: false
    AddPaymentMethodResponse:
      properties:
        id:
          type: string
          description: |-
            Payment method ID

            Example: `pm_1234567890`.
        status:
          $ref: '#/components/schemas/PaymentMethodStatus'
          description: Payment method status
        userId:
          type: string
        name:
          type: string
          description: |-
            Payment method name

            Example: `VISA-1234`.
        type:
          type: string
          description: |-
            Payment method type

            Example: `DebitCard`, `CreditCard`.
        isPrimary:
          type: boolean
          description: >-
            Is primary payment method?


            Example: `true` for primary payment method, `false` for secondary
            payment method.
        createdAt:
          type: string
          description: |-
            Created at

            Example: `2021-01-01T00:00:00Z`.
        updatedAt:
          type: string
          description: |-
            Updated at

            Example: `2021-01-01T00:00:00Z`.
        country:
          type: string
          description: |-
            Country code

            ISO 3166-1 alpha-2 format.
            Example: `US` for United States, `MX` for Mexico.
        currency:
          type: string
          description: |-
            Currency code

            ISO 4217 format.
            Example: `USD` for United States Dollar, `MXN` for Mexican Peso.
        latitude:
          type: number
          format: double
          description: |-
            Address latitude

            Example: `37.774929`.
        longitude:
          type: number
          format: double
          description: |-
            Address longitude

            Example: `-122.419416`.
        cardType:
          type: string
          description: |-
            Card type

            Example: `DebitCard`, `CreditCard`.
        number:
          type: string
        nameOnCard:
          type: string
          description: |-
            Card holder name

            Example: `John Doe`.
        expirationDate:
          type: string
          description: |-
            Card expiration date

            Example: `0631`.
        expirationYear:
          type: string
          description: |-
            Card expiration year

            Example: `31`.
        expirationMonth:
          type: string
          description: |-
            Card expiration month

            Example: `06`.
        securityCode:
          type: string
          description: |-
            Tokenized Card CVV/CVC code by VGS.

            Example: `tok_sandbox_brucMoj9eTJR3xhqdmM4AQ`.
        tokenData:
          type: string
        cardNetwork:
          type: string
          description: >-
            Card network


            Example: `Visa`, `MasterCard`, `American Express`, `Discover`,
            `Diners Club`, `JCB`, `UnionPay`, `Maestro`, `Mir`, `Verve`, `Troy`,
            `UATP`.
        allowPullCrossBorder:
          type: boolean
          description: If Credit/Debit Card allows pull cross border.
        allowPullDomestic:
          type: boolean
          description: If Credit/Debit Card allows pull domestic.
        allowPushCrossBorder:
          type: boolean
          description: If Credit/Debit Card allows push cross border.
        allowPushDomestic:
          type: boolean
          description: If Credit/Debit Card allows push domestic.
        allowReviewAddress:
          type: boolean
          description: If Credit/Debit Card allows review address.
        requiresBalanceValidation:
          type: boolean
        accountId:
          type: string
          description: Account ID associated with the payment method.
        bankEntityNumber:
          type: string
          description: Bank entity number
        externalId:
          type: string
          description: External ID associated with the payment method.
        errorValidation:
          type: string
      required:
        - id
        - status
      type: object
      additionalProperties: false
    ErrorResponse:
      properties:
        detail:
          type: string
        code:
          type: string
        reason:
          type: string
      required:
        - code
        - reason
      type: object
    PaymentMethodStatus:
      type: string
      enum:
        - Created
        - Validated
        - Blocked
        - Validating
        - Removed
        - Disconnected
        - ValidationNotApproved
        - ValidatedPull
        - ValidatedPush
        - ValidatedPullAndPush
  securitySchemes:
    api_key:
      type: apiKey
      name: api_key
      in: header

````