---
title: "List Affiliates"
method: GET
path: "/affiliates"
tags: ["Affiliates"]
---

# List Affiliates

`GET /affiliates`

Returns the project approved affiliates with their group, all-time totals and connected platforms — the same data as the affiliates table in the dashboard. Newest joiner first unless `sort_by` names another field — then largest first, or A to Z for `name`. Note 1: this endpoint is only accessible with a secret API key. Note 2: up to 100 affiliates are returned per request; page through the rest with `offset`.

## Query parameters

- `limit` number
- `offset` number
- `group_ids` string[]
- `group_slugs` string[]
- `sort_by` 'name' | 'claims' | 'conversions' | 'revenue' | 'earnings' | 'profit' | 'followers' | 'started_at'

## Headers

- `x-api-key` string, required

## Response `200`

The page of affiliates.

- AffiliateListResponse
  - `data` AffiliateList, required
    - `affiliates` AffiliateListEntry[], required — The page of affiliates, in the order `sort_by` asks for — newest joiner first when it is omitted
      - `id` string, required — The affiliate id
      - `name` string, required — The affiliate name
      - `logo_url` string, nullable, required — The affiliate logo url
      - `country` string, nullable, required — The affiliate country, as an ISO 3166-1 alpha-2 code
      - `group` AffiliateListGroup, required
        - `id` string, required — The affiliate group id
        - `name` string, required — The affiliate group name
        - `slug` string, required — The affiliate group slug, as used in apply links
        - `color` string, nullable, required — The affiliate group color, as shown in the dashboard
      - `status` 'approved', required — The affiliate standing with the project. Always `approved`: only approved affiliates are listed
      - `claims` number, required — The number of times the affiliate's codes were claimed
      - `conversions` number, required — The number of claims that converted into a purchase
      - `revenue` number, required — The revenue attributed to the affiliate, in USD cents
      - `earnings` number, required — The commission owed to the affiliate on that revenue, in USD cents
      - `profit` number, required — The revenue less the earnings, in USD cents
      - `started_at` string, date-time, nullable, required — When the affiliate joined the project. Null for affiliates approved before the date was recorded
      - `platforms` AffiliateListPlatform[], required — The affiliate connected social platforms; empty when they have none
        - `type` 'instagram' | 'tiktok' | 'youtube' | 'twitter' | 'website', required — The platform type
        - `handle` string, required — The public handle/username on the platform, without a leading "@"; a full URL for websites
        - `followers` number, nullable, required — The follower count on the platform — subscribers, on YouTube. Null while the platform has been connected but its stats never fetched
      - `application` AffiliateListApplication, required
        - `answers` AffiliateListApplicationAnswer[], required — The answers on the group application form, in the order asked. Empty when the form had no questions
          - `type` 'short_text' | 'long_text' | 'options', required — The kind of question, which decides the shape of the answer
          - `question` string, required — The question as it was asked. Kept with the answer, so it still reads right if the form has since changed
          - `answer` union, required — The answer: a string, or for an `options` question allowing several choices, the chosen options
            - string
            - string[]
    - `pagination` Pagination, required
      - `limit` number, required — How many results were requested
      - `offset` number, required — How many results were skipped before this page
      - `total` number, required — How many results matched in total, across every page
      - `has_more` boolean, required — Whether another page follows this one

## Other responses

- `401` — Unauthorized
- `422` — The request is invalid.
- `429` — The rate limit for this endpoint has been exceeded.

## Changes

- **2026-09-21** `31a56e1d427d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/winwinkit/apis/winwinkit-api/changes/affiliates/get.md)

---

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