---
title: "List programs"
method: GET
path: "/v1/programs"
tags: ["Programs"]
---

# List programs

`GET /v1/programs`

## Request

- Base URL: `https://api.affiliaterail.com`
- URL: `https://api.affiliaterail.com/v1/programs`
- Auth: HTTP bearer

Every program in your organization. The one list that does not take `program_id`.

**Scope:** `read`

## Query parameters

- `limit` string
- `starting_after` string
- `ending_before` string
- `include[]` union
  - string
  - string[]

## Response `200`

Programs

- ProgramList
  - `data` Program[], required
    - `id` string, required: Prefixed id (`prg_…`)
    - `object` 'program', required
    - `name` string, required
    - `product_name` string, required
    - `website_url` string, required
    - `currency` string, required: ISO-4217
    - `status` 'active' | 'paused', required
    - `subdomain` string, required
    - `custom_domain` string, nullable, required
    - `terms_url` string, nullable, required
    - `terms_version` string, nullable, required
    - `cookie_days` integer, required
    - `url_params` string[], required
    - `commission_on_net_revenue` boolean, required
    - `holding_period_days` integer, required
    - `min_payout_minor` integer, required: Integer minor units (cents, pence). Never a float, never a string.
    - `payout_term` 'net_15' | 'net_30' | 'net_60', required
    - `payout_methods` string[], required
    - `block_self_referrals` boolean, required
    - `blocked_countries` string[], required
    - `require_tax_forms` boolean, required
    - `auto_payouts_enabled` boolean, required
    - `processor` 'stripe' | 'paddle' | 'chargebee' | 'manual' | 'api' | 'null', nullable, required
    - `stats` ProgramStats
      - `partners` integer, required
      - `active_partners` integer, required
      - `clicks` integer, required
      - `referrals` integer, required
      - `customers` integer, required
      - `sales_minor` integer, required: Integer minor units (cents, pence). Never a float, never a string.
      - `commissions_minor` integer, required: Integer minor units (cents, pence). Never a float, never a string.
    - `created_at` string, date-time, required: ISO-8601, UTC
    - `updated_at` string, date-time, required: ISO-8601, UTC
  - `has_more` boolean, required: Pass the last object's id as `starting_after` to fetch the next page
  - `total_count` integer, required: Count of every object matching the filters, ignoring the cursor

## Other responses

- `400`: Invalid request
- `401`: Missing or unknown API key
- `403`: Key lacks the required scope
- `404`: No such object in your organization
- `422`: The request was understood and refused
- `429`: Rate limited: see Retry-After

---

[API](https://skmtc.dev/affiliaterail/apis/affiliaterail-api.md) · [All operations](https://skmtc.dev/affiliaterail/apis/affiliaterail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/affiliaterail/apis/affiliaterail-api/revisions/ea41f345c092?raw)
