# API Documentation

## Pagination Parameters

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

### begin
- **Type:** date-time  
- **Format:** RFC 3339 format  
- **Description:** Only entries created after the specified time will be included. UTC time zone.

### end
- **Type:** date-time  
- **Format:** RFC 3339 format  
- **Description:** Only entries created before the specified time will be included. UTC time zone.

## Responses

### `200 OK`
- **Object Structure:**
  - **data** (array of objects)  
    - **required**  
      - **token** (uuid)  
        - **required**: Lithic-generated unique identifier for the program  
      - **registered_program_identification_number** (string)  
        - **required**: RPIN value assigned by the network.  
      - **name** (string)  
        - **required**: The name of the network program.  
      - **default_product_code** (string)  
        - **required**: Network product ID associated with this program.  
  - **has_more** (boolean)  
    - **required**: Whether there are more network programs to be retrieved.

### `400 Bad Request`
- **Description:** A parameter in the query given in the request does not match the valid queries for the endpoint.

### `401 Unauthorized`
| Code | 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 |

### `429 Too Many Requests`
| Code | 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 Request

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

## Example Response

```json
{
  "data": [
    {
      "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "registered_program_identification_number": "string",
      "name": "string",
      "default_product_code": "string"
    }
  ],
  "has_more": true
}
```
