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

# Create Or Update Loyalty Program Voucher Card Image

> ### Create or Update Card Voucher Image

Updates or creates a new card image for a specific voucher within a loyalty program.

- **Path Parameters**:
    - `programId`: UUID of the loyalty program
    - `voucherId`: UUID of the voucher
    - `type`: Type of the card image (e.g., 'thumbnail', 'banner')

- **Request Body**:
    - `image`: Image file to be uploaded.

- **Returns**:
    - Updated or new card image details as a JSON object, or an error message if the image is invalid.



## OpenAPI

````yaml https://api.loyalty.dog/openapi.json post /v2/loyalty/programs/{programId}/vouchers/{voucherId}/card/images/{type}
openapi: 3.1.0
info:
  title: LoyaltyDog
  description: >-

    Welcome to the LoyaltyDog API! This API provides access to our loyalty
    program features, allowing you to integrate with various platforms and
    manage your loyalty data.


    Want to query LoyaltyDog via an AI assistant (Claude, Cursor, Windsurf)? See
    the [MCP Integration guide](https://loyaltydog.ai/playground#mcp).
        
  termsOfService: https://loyalty.dog/loyalty-program-terms-service
  contact:
    name: LoyaltyDog Support
    url: https://loyalty.dog/contact-us
    email: support@loyalty.dog
  version: 1.0.1
servers:
  - url: https://api.loyalty.dog
    description: Production
security:
  - bearerAuth: []
paths:
  /v2/loyalty/programs/{programId}/vouchers/{voucherId}/card/images/{type}:
    post:
      tags:
        - Loyalty
      summary: Create Or Update Loyalty Program Voucher Card Image
      description: >-
        ### Create or Update Card Voucher Image


        Updates or creates a new card image for a specific voucher within a
        loyalty program.


        - **Path Parameters**:
            - `programId`: UUID of the loyalty program
            - `voucherId`: UUID of the voucher
            - `type`: Type of the card image (e.g., 'thumbnail', 'banner')

        - **Request Body**:
            - `image`: Image file to be uploaded.

        - **Returns**:
            - Updated or new card image details as a JSON object, or an error message if the image is invalid.
      operationId: >-
        create_or_update_loyalty_program_voucher_card_image_v2_loyalty_programs__programId__vouchers__voucherId__card_images__type__post
      parameters:
        - name: type
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/PassImageType'
        - name: voucherId
          in: path
          required: true
          schema:
            anyOf:
              - $ref: '#/components/schemas/PydanticObjectId'
              - type: string
            title: Voucherid
        - name: programId
          in: path
          required: true
          schema:
            anyOf:
              - $ref: '#/components/schemas/PydanticObjectId'
              - type: string
            title: Programid
        - name: authorization
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Authorization
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: >-
                #/components/schemas/Body_create_or_update_loyalty_program_voucher_card_image_v2_loyalty_programs__programId__vouchers__voucherId__card_images__type__post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PassImageType:
      type: string
      enum:
        - logo
        - icon
        - strip
        - footer
        - background
        - thumbnail
      title: PassImageType
      description: |-
        Supported images
            Boarding pass:  logo, icon, footer
            Coupon:         logo, icon, strip
            Event ticket:   logo, icon, strip, background, thumbnail
                            If you specify a strip image, do not specify a background image or a thumbnail.
            Generic:        logo, icon, thumbnail
            Store card:     logo, icon, strip

        Args:
            StrEnum (_type_): _description_
    PydanticObjectId:
      type: string
      maxLength: 24
      minLength: 24
      pattern: ^[0-9a-f]{24}$
      example: 5eb7cf5a86d9755df3a6c593
    Body_create_or_update_loyalty_program_voucher_card_image_v2_loyalty_programs__programId__vouchers__voucherId__card_images__type__post:
      properties:
        image:
          type: string
          contentMediaType: application/octet-stream
          title: Image
      type: object
      required:
        - image
      title: >-
        Body_create_or_update_loyalty_program_voucher_card_image_v2_loyalty_programs__programId__vouchers__voucherId__card_images__type__post
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from POST /v2/token.

````