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

# Update Cardholder

> Updates the specified issuing cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged (first name and last name cannot be accepted and updated).



## OpenAPI

````yaml /card-issuance/v1.6/issuing.yaml post /v1/issuing/cardholders/{id}
openapi: 3.0.2
info:
  title: Issuing API
  version: 0.0.1
  description: >
    UQPAY Issuing API allows you to issue virtual cards, manage cardholders, and
    monitor card transactions.


    ## What you can do

    - Create and manage virtual cards (issue, activate, freeze, cancel)

    - Onboard and verify cardholders with KYC

    - Set spending limits and card controls

    - Recharge and withdraw card balances

    - Query card transactions and account balances

    - Transfer funds between issuing accounts

    - Generate and download reports


    ## Authentication

    All requests require a valid auth token obtained via the [Access
    Token](/account-center/v1.6/api-reference/access-token) endpoint. Include
    the token in the `x-auth-token` header.


    ## Idempotency

    POST requests support the `x-idempotency-key` header to safely retry without
    creating duplicate resources.
  contact:
    name: UQPAY Support Team
    url: https://www.uqpay.com/support
    email: support@uqpay.com
  license:
    name: Proprietary
    url: https://www.uqpay.com/legal/api-terms
  termsOfService: https://www.uqpay.com/legal/terms
  x-api-id: uqpay-issuing-api-v1.6.0
  x-categories:
    - Card Issuing
    - Transaction Processing
  x-features:
    - Virtual Card Issuance
    - Real-time Processing
    - Webhook Notifications
    - Comprehensive Reporting
    - Transaction Monitoring
servers:
  - url: https://api-sandbox.uqpaytech.com/api
    description: Sandbox base URL.
  - url: https://api.uqpay.com/api
    description: Production base URL.
security: []
tags:
  - name: Card Lifecycle
    description: >-
      Create cards and manage their full lifecycle — issue, retrieve, update,
      activate, assign, and change status.
  - name: Card Secure Data
    description: >-
      Access sensitive card data (PAN, CVV) through the PCI-compliant endpoint
      or a tokenized iframe. Availability depends on your PCI status, not the
      card product.
  - name: Card Funding
    description: Load and unload a card's stored balance for prepaid-style cards.
  - name: Card PIN
    description: >-
      Set and manage card PINs. `reset-pin` covers physical cards;
      `manage-card-pin` covers virtual cards.
  - name: Card Add-ons
    description: >-
      Product-specific card capabilities. Each operation applies only to certain
      card products — see [Card
      products](/card-issuance/v1.6/guide/card-products).
  - name: Card Arts
    description: >-
      Manage the visual designs (card arts) available to your issuing account.
      Set an account-wide default, or pass `card_art_id` when issuing or
      updating a card to override per card. Available on Personal Visa.
  - name: Cardholders
    description: >-
      You can create cardholders, which are authorized representatives of your
      business that can be issued cards.
  - name: Transactions
    description: >-
      These APIs allow you to retrieve information on transactions that are made
      on your user's cards.
  - name: Products
    description: >-
      With this set of APIs, you will be able to create card orders for your
      customers.
  - name: Balances
    description: >-
      The available and pending amounts for each currency are broken down
      further by payment source types. You can retrieve it to see the balance
      currently on your issuing account.
  - name: Transfers
    description: Transfer funds between issuing accounts.
  - name: Reports
    description: Generate and download issuing reports.
  - name: Simulator
    description: Simulate card transactions on the sandbox environment.
paths:
  /v1/issuing/cardholders/{id}:
    post:
      tags:
        - Cardholders
      summary: Update Cardholder
      description: >-
        Updates the specified issuing cardholder object by setting the values of
        the parameters passed. Any parameters not provided will be left
        unchanged (first name and last name cannot be accepted and updated).
      operationId: update-cardholder
      parameters:
        - $ref: '#/components/parameters/IdPath'
        - $ref: '#/components/parameters/XOnBehalfOf'
        - $ref: '#/components/parameters/XIdempotencyKey'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardholderUpdateRequest'
      responses:
        '200':
          headers:
            x-response-id:
              $ref: '#/components/headers/XResponseId'
          description: Cardholder update successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardholderCreationResponse'
                title: CardholderCreationResponse
      security:
        - XAuthToken: []
components:
  parameters:
    IdPath:
      name: id
      description: Universally unique identifier (UUID v4) of a resource.
      in: path
      required: true
      schema:
        type: string
        format: uuid
        example: 71fdb0fe-9682-457a-9361-e8868694f12f
    XOnBehalfOf:
      in: header
      name: x-on-behalf-of
      schema:
        type: string
      required: false
      description: >
        Specifies the sub-account on whose behalf the request is made. This
        should be set to the `account_id`, which can be retrieved via the [List
        Connected
        Accounts](/account-center/v1.6/api-reference/list-connected-accounts)
        endpoint. If omitted or empty, the request is executed using the master
        account.

        More information at [Connected
        Accounts](/account-center/v1.6/guide/connected-accounts).
      example: 18523f72-f4de-4f9c-bb8e-ec7d1c4f32be
    XIdempotencyKey:
      in: header
      name: x-idempotency-key
      schema:
        type: string
        format: uuid
      required: true
      description: >-
        A unique identifier (UUID) used to maintain operation idempotency,
        ensuring that repeated executions of the same operation do not result in
        unintended effects or duplication. It helps preserve data consistency in
        the face of network errors, retries, or failures.
      example: 18523f72-f4de-4f9c-bb8e-ec7d1c4f32be
  schemas:
    CardholderUpdateRequest:
      type: object
      properties:
        country_code:
          $ref: '#/components/schemas/CountryCode'
        email:
          $ref: '#/components/schemas/CardholderEmail'
        phone_number:
          $ref: '#/components/schemas/CardholderPhoneNumber'
        date_of_birth:
          $ref: '#/components/schemas/CardholderDateOfBirth'
        gender:
          $ref: '#/components/schemas/Gender'
        nationality:
          $ref: '#/components/schemas/Nationality'
        residential_address:
          $ref: '#/components/schemas/ResidentialAddress'
        identity:
          $ref: '#/components/schemas/Identity'
        kyc_verification:
          $ref: '#/components/schemas/KycVerification'
        document_type:
          $ref: '#/components/schemas/DocumentType'
        document:
          $ref: '#/components/schemas/Document'
    CardholderCreationResponse:
      type: object
      required:
        - cardholder_id
        - cardholder_status
      properties:
        cardholder_id:
          $ref: '#/components/schemas/CardholderId'
        cardholder_status:
          $ref: '#/components/schemas/CardholderStatus'
        idv_verification_url:
          type: string
          description: >-
            IDV verification URL. Returned when `kyc_verification.method` is
            `SUMSUB_REDIRECT`.
          example: https://idv.sumsub.com/verify/abc123
        idv_url_expires_at:
          type: string
          description: >-
            IDV verification URL expiration time in RFC 3339 format. Returned
            when `kyc_verification.method` is `SUMSUB_REDIRECT`.
          example: '2026-04-10T10:00:00+08:00'
    CountryCode:
      type: string
      description: >-
        Two-letter country code [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      maxLength: 2
      example: SG
    CardholderEmail:
      type: string
      description: The cardholder's email address.
      example: demo@example.com
    CardholderPhoneNumber:
      description: >
        The cardholder's phone number.


        See [Phone number validation
        rules](/card-issuance/v1.6/guide/phone-number-validation-rules-for-cardholder)
        for length validation details.
      type: string
      example: '86683306'
    CardholderDateOfBirth:
      description: The cardholder's birth date with `yyyy-mm-dd` format.
      type: string
      example: '1990-01-01'
    Gender:
      type: string
      description: |
        The cardholder's gender.

          * `MALE` - Male.
          * `FEMALE` - Female.
      enum:
        - MALE
        - FEMALE
      example: MALE
    Nationality:
      type: string
      description: >-
        The cardholder's nationality in ISO 3166-1 alpha-2 format. Required for
        STANDARD and ENHANCED KYC levels.
      minLength: 2
      maxLength: 2
      example: SG
    ResidentialAddress:
      type: object
      description: >
        The cardholder's residential address.


        All fields accept only letters (A-Z, a-z), digits (0-9), spaces, and the
        following punctuation: `, . ' / # ( ) - &`. Requests containing any
        other character are rejected — correct the value and resubmit. Empty
        optional fields are not validated.
      required:
        - country
        - city
        - line1
      properties:
        country:
          $ref: '#/components/schemas/Country'
        state:
          type: string
          description: State, county, province, or region.
          maxLength: 128
          example: Singapore
        city:
          type: string
          description: City, district, suburb, town, or village.
          maxLength: 128
          example: Singapore
        district:
          type: string
          description: District or sub-region within the city.
          maxLength: 128
          example: Buona Vista
        line1:
          type: string
          description: Address line 1 (e.g., street, PO Box, or company name).
          maxLength: 255
          example: 9 N Buona Vista Dr
        line2:
          type: string
          description: Address line 2 (e.g., apartment, suite, unit, or building).
          maxLength: 255
          example: THE METROPOLIS
        line_en:
          type: string
          description: Address in English.
          maxLength: 255
          example: 9 N Buona Vista Dr, THE METROPOLIS
        postal_code:
          type: string
          description: >-
            ZIP or postal code. If you intend to issue an Enhanced card, this
            field must be 4-10 characters long.
          maxLength: 16
          example: '138666'
    Identity:
      type: object
      description: >-
        The cardholder's identity document information. Required for STANDARD
        and ENHANCED KYC levels.
      required:
        - type
        - number
        - front_file
      properties:
        type:
          type: string
          description: |
            Identity document type.

              * `ID_CARD` - National identity card.
              * `PASSPORT` - Passport.
          enum:
            - ID_CARD
            - PASSPORT
          example: PASSPORT
        number:
          type: string
          description: Identity document number.
          example: E12345678
        front_file:
          type: string
          description: Base64 encoded front side image of the identity document.
        back_file:
          type: string
          description: >-
            Base64 encoded back side image of the identity document. Required
            when `type` is `ID_CARD`.
        hand_file:
          type: string
          description: Base64 encoded hand-held identity document photo.
    KycVerification:
      type: object
      description: KYC verification information. Required for ENHANCED KYC level.
      required:
        - method
      properties:
        method:
          type: string
          description: |
            The KYC verification method.

              * `THIRD_PARTY` - Merchant has completed verification via a third-party provider and submits proof.
              * `SUMSUB_REDIRECT` - Redirect the cardholder to Sumsub for IDV verification.
          enum:
            - THIRD_PARTY
            - SUMSUB_REDIRECT
          example: THIRD_PARTY
        kyc_proof:
          $ref: '#/components/schemas/KycProof'
    DocumentType:
      type: string
      description: The type of the identification document.
      example: pdf
      enum:
        - pdf
        - png
        - jpg
        - jpeg
    Document:
      type: string
      description: Base64 encoded identification document string, 2MB limitation.
    CardholderId:
      type: string
      description: The cardholder's unique identifier.
      example: 7c4ff2cd-1bf6-4aaa-bf16-266771425011
      format: uuid
    CardholderStatus:
      description: The cardholder's status.
      type: string
      default: SUCCESS
      enum:
        - FAILED
        - PENDING
        - SUCCESS
        - INCOMPLETE
    Country:
      type: string
      description: >-
        Two-letter country code [ISO 3166-1
        alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
      maxLength: 2
      example: SG
    KycProof:
      type: object
      description: >-
        Third-party KYC verification proof. Required when `method` is
        `THIRD_PARTY`.
      required:
        - provider
        - reference_id
        - documents
      properties:
        provider:
          type: string
          description: The third-party KYC provider name (e.g., `SUMSUB`).
          example: SUMSUB
        reference_id:
          type: string
          description: >-
            The reference ID from the third-party provider. Must be at least 10
            characters and globally unique.
          minLength: 10
          example: sumsub_ref_1234567890
        documents:
          type: array
          description: >
            Compliance report files backing the third-party verification. Each
            entry points to a file previously uploaded through [Upload A
            File](/account-center/v1.6/api-reference/upload-file).


            You must provide an identity verification report — either a
            standalone `IDV` report or a combined `IDV_AML` report. An
            anti-money-laundering (`AML`) report is optional. Submit the reports
            as separate files (`IDV` plus `AML`) or as a single combined file
            (`IDV_AML`).
          minItems: 1
          items:
            $ref: '#/components/schemas/KycProofDocument'
    KycProofDocument:
      type: object
      required:
        - file_id
        - report_type
      properties:
        file_id:
          type: string
          description: >-
            The ID of an uploaded file, returned by [Upload A
            File](/account-center/v1.6/api-reference/upload-file).
          example: b3d9d2d5-4c12-4946-a09d-953e82sed2b0
        report_type:
          $ref: '#/components/schemas/KycReportType'
    KycReportType:
      type: string
      description: |
        The compliance report the file contains.

          * `IDV` - An identity verification report only.
          * `AML` - An anti-money-laundering screening report only.
          * `IDV_AML` - A single file covering both identity verification and anti-money-laundering.
      enum:
        - IDV
        - AML
        - IDV_AML
      example: IDV
  headers:
    XResponseId:
      description: >-
        Universally unique identifier (UUID v4) for the response. Helpful for
        identifying a request when communicating with UQPAY support.
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  securitySchemes:
    XAuthToken:
      type: apiKey
      in: header
      name: x-auth-token
      description: The API token for login provided by UQPay.

````