---
title: "List all affiliate links"
method: GET
path: "/api/admin/affiliate-links"
tags: ["admin-affiliate"]
---

# List all affiliate links

`GET /api/admin/affiliate-links`

## Request

- Base URL: `https://voltplan.app`
- URL: `https://voltplan.app/api/admin/affiliate-links`
- Auth: HTTP bearer

Returns every `affiliate_links` record (`getFullList` with `fields: id,component,country,url,unavailable,isExact,title`, sorted by `component,country`). There is no pagination.

## Response `200`

All affiliate links.

- AdminAffiliateLinkList
  - `links` AffiliateLink[], required
    - `id` string, required
    - `component` string, required: Id of the `components` record.
    - `url` string: Amazon or external product URL. Optional since migration `1782759321`; `""` when the row only marks the country unavailable.
    - `country` 'universal' | 'de' | 'us' | 'uk' | 'fr' | 'es' | 'it' | 'au', required
    - `title` string, required
    - `isExact` boolean, required: `true` for an exact product page, `false` for a search or fallback URL.
    - `unavailable` boolean, required: `true` when the product is not sold in this country; the redirect skips the row.

## Other responses

- `403`: Admin access required. Returned for a missing, invalid or expired bearer token as well as for a valid token whose user lacks `is_admin=true`; admin endpoints never answer 401.
- `500`: PocketBase error or admin credentials not configured; `error` carries the thrown message.

---

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