# API Response Schema

## Pagination Parameters

### ending_before
*string*  
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
*integer*  
1 to 100  
Defaults to 50  
Page size (for pagination).

### starting_after
*string*  
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.

## 200 OK

### Response Object

**data**  
*array of objects*  
**required**

- **data***  
  *object*  
  - **account_level_management_enabled**  
    *boolean*  
    *required*  
    Whether the card program is participating in Account Level Management. Currently applicable to Visa card programs only.
  - **cardholder_currency**  
    *string | null*  
    3-character alphabetic ISO 4217 code for the currency of the cardholder.
  - **created**  
    *date-time*  
    *required*  
    Timestamp of when the card program was created.
  - **name**  
    *string*  
    *required*  
    The name of the card program.
  - **pan_range_end**  
    *string*  
    *required*  
    The first digits of the card number that this card program ends with.
  - **pan_range_start**  
    *string*  
    *required*  
    The first digits of the card number that this card program starts with.
  - **settlement_currencies**  
    *array of strings*  
    List of 3-character alphabetic ISO 4217 codes for the currencies that the card program supports for settlement.
  - **token**  
    *uuid*  
    *required*  
    Globally unique identifier.

### has_more
*boolean*  
*required*  
More data exists.

## Error Responses

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

### 401
| Error | Description |
| --- | --- |
| 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.
| Error | Description |
| --- | --- |
| 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/card_programs?page_size=50' \
     --header 'accept: application/json'
```

## Example JSON Response
```json
{
  "data": [
    {
      "account_level_management_enabled": true,
      "cardholder_currency": "USD",
      "created": "2026-07-17T22:19:55.483Z",
      "name": "My Prepaid Program",
      "pan_range_end": "52304803",
      "pan_range_start": "52304803",
      "settlement_currencies": [
        "USD",
        "CAD"
      ],
      "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
  ],
  "has_more": true
}
```
