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

# Retrieve Card

> Retrieves the details for a card you issued previously. The card's secure information are not returned in the response.



## OpenAPI

````yaml /card-issuance/v1.6/issuing.yaml get /v1/issuing/cards/{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: Cards
    description: >-
      These APIs are designed for you to be able to manage your consumer's cards
      easily, allowing you to set spending limits, modify the status of the
      cards.
  - 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/cards/{id}:
    get:
      tags:
        - Cards
      summary: Retrieve Card
      description: >-
        Retrieves the details for a card you issued previously. The card's
        secure information are not returned in the response.
      operationId: retrieve-card
      parameters:
        - $ref: '#/components/parameters/IdPath'
        - $ref: '#/components/parameters/XOnBehalfOf'
      responses:
        '200':
          description: OK - Successfully retrieved a card.
          headers:
            x-response-id:
              $ref: '#/components/headers/XResponseId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveCardResponse'
                title: RetrieveCardResponse
      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
  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
  schemas:
    RetrieveCardResponse:
      type: object
      required:
        - card_id
        - card_bin
        - mode_type
        - card_scheme
        - card_number
        - form_factor
        - card_limit
        - available_balance
        - cardholder
        - card_status
        - no_pin_payment_amount
      properties:
        card_id:
          $ref: '#/components/schemas/CardId'
        card_bin:
          $ref: '#/components/schemas/CardBin'
        card_scheme:
          $ref: '#/components/schemas/CardScheme'
        card_currency:
          $ref: '#/components/schemas/CardCurrency'
        card_number:
          $ref: '#/components/schemas/CardNumber'
        form_factor:
          $ref: '#/components/schemas/FormFactor'
        mode_type:
          $ref: '#/components/schemas/ModeType'
        card_product_id:
          $ref: '#/components/schemas/CardProductId'
        card_limit:
          $ref: '#/components/schemas/CardLimit'
        available_balance:
          type: string
          example: 2000.05
          description: The available balance, currency refer to `card_currency`.
        cardholder:
          $ref: '#/components/schemas/CardholderListResponse'
        spending_controls:
          $ref: '#/components/schemas/SpendingControls'
        no_pin_payment_amount:
          $ref: '#/components/schemas/NoPINPaymentAmountInResponse'
        risk_controls:
          $ref: '#/components/schemas/RiskControls'
        metadata:
          $ref: '#/components/schemas/Metadata'
        card_status:
          $ref: '#/components/schemas/CardStatus'
        update_reason:
          $ref: '#/components/schemas/UpdateReason'
        consumed_amount:
          $ref: '#/components/schemas/ConsumedAmount'
    CardId:
      type: string
      example: c0cef051-29c5-4796-b86a-cd5b684bfad7
      description: Unique identifier for the card.
    CardBin:
      type: string
      example: '40963608'
      description: Card number prefix (BIN).
    CardScheme:
      type: string
      example: VISA
      description: Card scheme.
    CardCurrency:
      type: string
      example: USD
      description: The card currency.
      enum:
        - SGD
        - USD
        - XUSD
    CardNumber:
      type: string
      example: '************5668'
      description: Masked card number
    FormFactor:
      type: string
      example: VIRTUAL
      description: >-
        Form of the card - `VIRTUAL` or `PHYSICAL`, currently only support
        virtual card.
      enum:
        - VIRTUAL
        - PHYSICAL
    ModeType:
      type: string
      example: SHARE
      enum:
        - SHARE
        - SINGLE
      description: |
        Mode type enum - SINGLE or SHARE. 

          * `SINGLE` - A single card only has prepaid mode.
          * `SHARE` - A share card can have debit mode, meaning it is associated with debit program and account.
    CardProductId:
      type: string
      description: The card product's unique identifier.
      example: 3bd1656b-e691-4aab-a76a-3ead39e7a6f6
      format: uuid
    CardLimit:
      type: number
      example: 2100.02
      minimum: 0
      description: >
        The total credit limit assigned to the card, currency refer to
        `card_currency`. This is **not a cumulative balance**, but a fixed
        credit limit similar to that of a credit card. 


        ##### Field Behavior by Card BIN:

        - For the following BINs, `card_limit` is **required** during card
        creation and must be **greater than or equal to 0.01**:
          - 527735  
          - 555071  
          - 555243  

        - For all other BINs, `card_limit` is **optional**:
          - If omitted, the system will default `card_limit` to 0.
          - If provided, the value must be **greater than or equal to 0**, with up to two decimal places. **Negative values are not allowed.**
    CardholderListResponse:
      type: object
      properties:
        cardholder_id:
          $ref: '#/components/schemas/CardholderId'
        email:
          $ref: '#/components/schemas/CardholderEmail'
        number_of_cards:
          $ref: '#/components/schemas/CardholderNumberOfCards'
        first_name:
          description: >-
            The first name of this cardholder. Required before activating Cards.
            This field cannot contain any numbers, special characters (except
            periods, commas, hyphens, spaces and apostrophes) or non-latin
            letters.
          type: string
          example: Emily
        last_name:
          description: >-
            The last name of this cardholder. Required before activating Cards.
            This field cannot contain any numbers, special characters (except
            periods, commas, hyphens, spaces and apostrophes) or non-latin
            letters.
          type: string
          example: Toy
        create_time:
          description: Time at which the object was created.
          type: string
          example: '2024-05-09 15:52:23'
        cardholder_status:
          $ref: '#/components/schemas/CardholderStatus'
        date_of_birth:
          $ref: '#/components/schemas/CardholderDateOfBirth'
        country_code:
          $ref: '#/components/schemas/CountryCode'
        phone_number:
          $ref: '#/components/schemas/CardholderPhoneNumber'
        gender:
          $ref: '#/components/schemas/Gender'
        nationality:
          $ref: '#/components/schemas/Nationality'
        residential_address:
          $ref: '#/components/schemas/ResidentialAddress'
        review_status:
          $ref: '#/components/schemas/ReviewStatus'
        idv_status:
          type: string
          description: |
            IDV verification status. Returned when applicable.

              * `PENDING` - IDV pending.
              * `PASSED` - IDV passed.
              * `FAILED` - IDV failed.
          enum:
            - PENDING
            - PASSED
            - FAILED
        idv_verification_url:
          type: string
          description: IDV verification URL. Returned when applicable.
          example: https://idv.sumsub.com/verify/abc123
        idv_url_expires_at:
          type: string
          description: IDV verification URL expiration time in RFC 3339 format.
          example: '2026-04-10T10:00:00+08:00'
    SpendingControls:
      type: array
      description: Rules that control spending for this card.
      items:
        type: object
        required:
          - amount
          - interval
        properties:
          amount:
            type: number
            description: >-
              Maximum amount allowed to spend per interval, must be greater than
              or equal to zero.
            example: 100.03
            minimum: 0
          interval:
            type: string
            example: PER_TRANSACTION
            enum:
              - PER_TRANSACTION
            description: |
              Interval (or event) to which the amount applies. 
              This field is mandatory and must be one of:
                * `PER_TRANSACTION` - Can not exceed the max authorization amount
    NoPINPaymentAmountInResponse:
      type: string
      example: 2000USD
      description: >-
        The allowable amount for card transactions without PIN verification,
        including the currency unit (e.g., `2000USD`). This response field
        should be distinguished from the corresponding request parameter, which
        specifies the amount without a currency unit.
    RiskControls:
      type: object
      description: >
        User-customized risk control settings.


        Supported configurations depend on the card BIN. See [Supported BINs for
        Risk Control Configurations](/card-issuance/v1.6/guide/Supported BINs
        for Risk Control Configurations) for details.
      properties:
        enable_3ds:
          $ref: '#/components/schemas/Enable3ds'
        allow_3ds_transactions:
          $ref: '#/components/schemas/Allow3dsTransactions'
        allowed_mcc:
          $ref: '#/components/schemas/AllowedMcc'
        blocked_mcc:
          $ref: '#/components/schemas/BlockedMcc'
    Metadata:
      additionalProperties:
        maxLength: 3200
        type: string
      example:
        key1: value1
        key2: value2
      description: >-
        Any key-value object. Max length = 3200 bytes. This must be valid JSON
        data.
      type: object
    CardStatus:
      type: string
      description: >
        Card status enum. See the Card lifecycle and statuses guide for more
        information.
      example: ACTIVE
      enum:
        - PENDING
        - ACTIVE
        - FROZEN
        - BLOCKED
        - CANCELLED
        - LOST
        - STOLEN
        - FAILED
      x-enumDescriptions:
        PENDING: The request to create the card has been received and is under review.
        ACTIVE: >-
          The request to create the card was successful and the card is ready to
          use.
        FROZEN: >-
          All incoming authorization requests will be declined. The card can be
          reactivated to accept new authorizations.
        BLOCKED: The card was blocked by UQPAY due to suspicious activity.
        PRE_CANCEL: >-
          The card will decline authorizations. This status is permanent. Funds
          will be released after the waiting period ends.
        CANCELLED: >-
          The card cannot be reactivated from this state, all incoming
          authorization requests will be permanently declined.
        LOST: The card has been reported as lost to UQPAY.
        STOLEN: The card has been reported as stolen to UQPAY.
        FAILED: >-
          The request to create a card using [Create
          Card](/card-issuance/v1.6/api-reference/create-card) failed.
    UpdateReason:
      type: string
      description: The reason for updating card status.
      maxLength: 100
      minLength: 0
    ConsumedAmount:
      type: string
      description: >-
        Reflects the cumulative amount of the card limit that has already been
        used.
      example: '51.00'
    CardholderId:
      type: string
      description: The cardholder’s unique identifier.
      example: 7c4ff2cd-1bf6-4aaa-bf16-266771425011
      format: uuid
    CardholderEmail:
      type: string
      description: The cardholder’s email address.
      example: demo@example.com
    CardholderNumberOfCards:
      type: integer
      description: >-
        The total number of cards associated with the cardholder, including all
        statuses.
      example: 1
    CardholderStatus:
      description: The cardholder's status.
      type: string
      default: SUCCESS
      enum:
        - FAILED
        - PENDING
        - SUCCESS
        - INCOMPLETE
    CardholderDateOfBirth:
      description: The cardholder's birth date with `yyyy-mm-dd` format.
      type: string
      example: '1990-01-01'
    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
    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'
    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.
      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.
          maxLength: 16
          example: '138666'
    ReviewStatus:
      type: string
      description: The review status of the cardholder.
      enum:
        - SUCCESS
        - FAILED
        - PENDING
      example: SUCCESS
    Enable3ds:
      type: string
      description: >
        Controls whether [3D Secure](https://en.wikipedia.org/wiki/3-D_Secure)
        is registered for this card.


        - `Y` — Register 3DS. The challenge behavior at transaction time is then
        governed by `allow_3ds_transactions`.

        - `N` — Do not register 3DS. Online transactions bypass 3DS
        authentication entirely.


        **Visa cards only.** Ignored for non-Visa cards.


        Returned only when explicitly set on the card. When absent, the card
        follows the account-level 3DS configuration.


        Modifiable only when the card is in `PENDING` or `ACTIVE` status.
      enum:
        - 'Y'
        - 'N'
      example: 'Y'
    Allow3dsTransactions:
      type: string
      description: >
        Determines whether [3D Secure](https://en.wikipedia.org/wiki/3-D_Secure)
        challenge flow is allowed when a transaction triggers 3DS.


        - **When creating a card:** Defaults to `Y` if not provided.

        - **When updating a card:** No default. If not provided, the existing
        value remains unchanged.


        > **Note:** This field only takes effect when `enable_3ds` is `Y`. If
        `enable_3ds` is `N`, the card bypasses 3DS entirely and this field has
        no effect.


        > **Important:** When set to `N`, your card uses a frictionless 3DS
        authentication mechanism — transactions complete without OTP input and
        are treated as cardholder-authenticated. As a result, disputes based on
        fraud or unauthorized use cannot be raised for such transactions. For
        enhanced security, it is recommended to keep this set to `Y`.
      enum:
        - 'Y'
        - 'N'
      x-enumDescriptions:
        'Y': OTP verification may be required.
        'N': >-
          No OTP will be required, and the user can enjoy a seamless payment
          experience.
      example: 'Y'
    AllowedMcc:
      type: array
      items:
        type: string
      description: >
        Specifies a whitelist of Merchant Category Codes (MCCs) that are
        permitted for transactions.

        All transactions under MCCs not listed here will be declined.


        **Note:** Only one of `allowed_mcc` or `blocked_mcc` can be configured
        per card. If neither is provided, transactions will follow the default
        risk control logic.
      example: null
    BlockedMcc:
      type: array
      items:
        type: string
      description: >
        Specifies a blacklist of Merchant Category Codes (MCCs) that are
        restricted for transactions.

        Transactions under these MCCs will be declined, while all other
        transactions will proceed through the standard UQPAY risk control
        evaluation.


        **Note:** Only one of `allowed_mcc` or `blocked_mcc` can be configured
        per card. If neither is provided, transactions will follow the default
        risk control logic.
      example:
        - '5999'
        - '6011'
    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
  securitySchemes:
    XAuthToken:
      type: apiKey
      in: header
      name: x-auth-token
      description: The API token for login provided by UQPay.

````