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

# Get digital card by ID

> Use this endpoint to retrieve a single digital card by its stable ID.

###### Required parameters:
- `digitalCardId` - the digital card identifier, passed as a path parameter.

###### Optional query parameters:
- `include` - related entities to expand. Currently supports `brand` (returns full brand details on the digital card).

###### Behavior notes:
- Returns the digital card's redemption URL and `authentication.method` (`OTP` or `accessCode`).
- Returns `404` if the digital card does not exist or belongs to a different Company.

###### Permissions:
- Requires: `digital-card:read`

#### Permissions
- Requires: `digitalCards:read`



## OpenAPI

````yaml get /v3/digital-cards/{digitalCardId}
openapi: 3.0.3
info:
  title: Snappy Public API v3
  version: 3.0.0
  contact:
    name: Snappy Support
    email: info@snappy.com
  description: >-
    Welcome to the Snappy API reference documentation!

    You can use this API to integrate with Snappy and spread smiles to your
    employees/clients/customers and much more.

    So let's get started!
servers:
  - url: https://api.snappy.com/public-api
    description: Base API URL
  - url: https://mtls-api.snappy.com/public-api
    description: >-
      ## mTLS URL

      You can also use mTLS to enhance your API security. To get your specific
      certificates please contact our support.

      Once you configure the certificated correctly, you need to also update
      endpoints to use the following secure api base URL:
security: []
tags:
  - name: Products
    description: >-
      Use these endpoints to retrieve products and tags for building catalog and
      browse experiences in your UI.
  - name: Collections
    description: >-
      Use these endpoints to retrieve products within curated collections for
      marketplace and browse experiences.
  - name: Variants
    description: >-
      Use these endpoints to retrieve variants, variant pricing, and country
      availability for orderable product SKUs.
  - name: Billing Methods
    description: >-
      A **Billing Method** is the funding source attached to an **Account** -
      for example, a Purchase Order (PO), Invoice, Prepay deposit, or Credit
      Card. Use these endpoints to retrieve billing method details such as
      remaining balance, status, and expiration.
  - name: Accounts
    description: >-
      An **Account** is a sub-entity within a **Company**, used to organize
      campaigns and gift sends. Use these endpoints to list, retrieve, and
      create accounts.
  - name: API Keys
    description: >-
      Use these endpoints to manage API keys for programmatic access. Key
      management requires company owner privileges.
  - name: Orders
    description: >-
      Use these endpoints to place, retrieve, cancel, and validate orders and
      shipping addresses.
  - name: Digital cards
    description: Use these endpoints to create, retrieve, and access digital cards.
paths:
  /v3/digital-cards/{digitalCardId}:
    get:
      tags:
        - Digital cards
      summary: Get digital card by ID
      description: >-
        Use this endpoint to retrieve a single digital card by its stable ID.


        ###### Required parameters:

        - `digitalCardId` - the digital card identifier, passed as a path
        parameter.


        ###### Optional query parameters:

        - `include` - related entities to expand. Currently supports `brand`
        (returns full brand details on the digital card).


        ###### Behavior notes:

        - Returns the digital card's redemption URL and `authentication.method`
        (`OTP` or `accessCode`).

        - Returns `404` if the digital card does not exist or belongs to a
        different Company.


        ###### Permissions:

        - Requires: `digital-card:read`


        #### Permissions

        - Requires: `digitalCards:read`
      parameters:
        - schema:
            allOf:
              - $ref: '#/components/schemas/DigitalCardIdV3'
              - description: The unique identifier of the digital card to retrieve.
          required: true
          description: The unique identifier of the digital card to retrieve.
          name: digitalCardId
          in: path
        - schema:
            type: array
            items:
              $ref: '#/components/schemas/DigitalCardIncludeV3'
            description: Related entities to include.
            example:
              - brand
          required: false
          description: Related entities to include.
          name: include
          in: query
          style: form
          explode: false
        - schema:
            type: string
            description: Optional account identifier for swag validation/filtering.
            example: acc123456
          required: false
          description: Optional account identifier for swag validation/filtering.
          name: snappy-account-id
          in: header
        - schema:
            type: string
            description: Optional company identifier for swag validation/filtering.
            example: cmp123456
          required: false
          description: Optional company identifier for swag validation/filtering.
          name: snappy-company-id
          in: header
      responses:
        '200':
          description: Digital card object.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/GetDigitalCardByIdV3Response'
                required:
                  - data
        '400':
          description: Bad Request - Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV3'
              example:
                status: 404
                errorCode: 404_DGTC_001
                message: Digital card not found.
      security:
        - ApiKeyAuthentication: []
components:
  schemas:
    DigitalCardIdV3:
      type: string
      minLength: 1
      pattern: ^[A-Za-z0-9_-]+$
      description: Stable digital card identifier.
      example: digital_card_123
    DigitalCardIncludeV3:
      type: string
      enum:
        - brand
      description: Related entities to include.
      example: brand
    GetDigitalCardByIdV3Response:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/DigitalCardIdV3'
        createdAt:
          type: string
          format: date-time
          description: Digital card creation timestamp.
          example: '2026-07-09T09:00:00.000Z'
        orderId:
          $ref: '#/components/schemas/DigitalCardOrderIdV3'
        companyId:
          $ref: '#/components/schemas/DigitalCardCompanyIdV3'
        url:
          type: string
          format: uri
          description: Digital card redemption URL.
          example: https://digital-card-url.com/id
        brand:
          $ref: '#/components/schemas/DigitalCardBrandV3'
        amount:
          $ref: '#/components/schemas/DigitalCardAmountV3'
        recipient:
          $ref: '#/components/schemas/DigitalCardRecipientV3'
        authentication:
          $ref: '#/components/schemas/DigitalCardAuthenticationV3'
      required:
        - id
        - createdAt
        - orderId
        - companyId
        - url
        - amount
        - recipient
        - authentication
      additionalProperties: false
      description: Digital card.
    ErrorResponseV3:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message.
          example: Product not found.
        errorCode:
          type: string
          description: Structured error code.
          example: 404_PROD_001
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
                example: Product with id 'q1w2e3r4t5' was not found
              path:
                type: string
                description: Dot-separated path to the field that caused the error.
                example: pathParameters.productId
              errorCode:
                type: string
                example: 404_PROD_001
            required:
              - message
              - path
          description: Optional field-level error details.
      required:
        - message
        - errorCode
      description: Standard v3 error envelope.
    DigitalCardOrderIdV3:
      type: string
      minLength: 1
      pattern: ^[A-Za-z0-9_-]+$
      description: Order identifier associated with the digital card.
      example: order_123
    DigitalCardCompanyIdV3:
      type: string
      minLength: 1
      pattern: ^[A-Za-z0-9_-]+$
      description: Company identifier that owns the digital card.
      example: company_123
    DigitalCardBrandV3:
      type: object
      properties:
        id:
          type: string
          description: Brand identifier.
          example: brand_123
        name:
          type: string
          description: Brand name.
          example: Amazon
      required:
        - name
      additionalProperties: false
      description: Digital card brand. Returned only when `include=brand`.
    DigitalCardAmountV3:
      type: object
      properties:
        value:
          type: number
          description: Digital card amount.
          example: 100
        currency:
          type: string
          description: ISO 4217 currency code.
          example: USD
      required:
        - value
        - currency
      additionalProperties: false
      description: Digital card monetary amount.
    DigitalCardRecipientV3:
      type: object
      properties:
        name:
          type: string
          description: Recipient full name.
          example: John Doe
        email:
          type: string
          format: email
          description: Recipient email address.
          example: my@email.com
      required:
        - name
        - email
      additionalProperties: false
      description: Digital card recipient.
    DigitalCardAuthenticationV3:
      type: object
      properties:
        method:
          type: string
          enum:
            - OTP
            - accessCode
          description: Authentication method required to redeem the digital card.
          example: OTP
      required:
        - method
      additionalProperties: false
      description: Digital card redemption authentication details.
  securitySchemes:
    ApiKeyAuthentication:
      type: apiKey
      in: header
      name: X-Api-Key
      description: |-
        ## Company Level Authentication

        Include your API key in the `X-Api-Key` header for every request:
        ```
        X-Api-Key: YOUR_API_KEY
        ```

````