# API Response Structure

## Pagination Parameters

### `ending_before`
- **Type**: string  
- **Description**: A cursor representing an item's token before which a page of results should end. Used to retrieve the previous page of results before this item.

### `page_size`
- **Type**: integer  
- **Range**: 1 to 100  
- **Defaults to**: 50  
- **Description**: Page size (for pagination).

### `starting_after`
- **Type**: string  
- **Description**: A cursor representing an item's token after which a page of results should begin. Used to retrieve the next page of results after this item.

# Response Codes

## `200 OK`
- **Object**:  
  - **data**  
    - **Type**: array of objects  
    - **Required**  
      - **data**  
        - **Object**:  
          - **card_program_token**  
            - **Type**: uuid  
            - **Required**: Globally unique identifier for the card program.  
          - **created**  
            - **Type**: date-time  
            - **Required**: Timestamp of when card art was created.  
          - **description**  
            - **Type**: string  
            - **Required**: Description of the card art.  
          - **is_card_program_default**  
            - **Type**: boolean  
            - **Description**: Whether the card art is the default card art to be added upon tokenization.  
          - **is_enabled**  
            - **Type**: boolean  
            - **Required**: Whether the card art is enabled.  
          - **network**  
            - **Type**: string  
            - **Enum**:  
              - **MASTERCARD**  
              - **VISA**  
          - **token**  
            - **Type**: uuid  
            - **Required**: Globally unique identifier for the card art.
    - **has_more**  
      - **Type**: boolean  
      - **Required**: More data exists.

## Error Codes

### `400`
- A parameter in the query given in the request does not match the valid queries for the endpoint.

### `401`
| Description | Reason |
| --- | --- |
| User has not been authenticated | Invalid or missing API key |
| API key is not active | The API key used is no longer active |
| Could not find API key | The API key provided is not associated with any user |
| Please provide API key in Authorization header | The Authorization header is not in the request |
| Please provide API key in the form Authorization: [api-key] | The Authorization header is not formatted properly |
| Insufficient privileges. Issuing API key required | Write access requires an Issuing API key. Reach out at [lithic.com/contact](/content/contact/index.html) |
| Insufficient privileges to create virtual cards. | Creating virtual cards requires an additional privilege |

### `404`
- The specified resource was not found.

### `422`
- Unprocessable entity.

### `429`
- Client has exceeded the number of allowed requests in a given time period.  
| Description | Reason |
| --- | --- |
| Rate limited, too many requests per second | User has exceeded their per second rate limit |
| Rate limited, reached daily limit | User has exceeded their daily rate limit |
| Rate limited, too many keys tried | One IP has queried too many different API keys |

# Example CURL Request

```
curl --request GET \
     --url 'https://sandbox.lithic.com/v1/digital_card_art?page_size=50' \
     --header 'accept: application/json'
```

# Example Response

```json
{
  "data": [
    {
      "card_program_token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "created": "2026-07-17T22:19:56.505Z",
      "description": "string",
      "is_card_program_default": true,
      "is_enabled": true,
      "network": "MASTERCARD",
      "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
  ],
  "has_more": true
}
```
