> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thrad.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Publishers

> List the publishers your API key can read, with the ids to pass as publisher_id.

Returns the publishers an API key can read. Use it to find the `publisher_id` values for [`GET /v1/publisher/insights`](https://docs.thrad.ai/insights/api-reference).

* **Organization key** (`sko_...`): every publisher in your organization, sorted by name.
* **Publisher key** (`sk_...`): only that key's own publisher.

Deleted publishers are never listed.

## Authorizations

**thrad-api-key** `string` *required*

An organization key (`sko_...`) or a publisher key (`sk_...`). `Authorization: Bearer <key>` is accepted as an alternative. A missing key returns `401 auth_required`; an unknown, expired, or revoked key returns `401 invalid_api_key`.

```bash cURL theme={null}
curl https://api.thrad.ai/v1/publisher/publishers \
  -H "thrad-api-key: $THRAD_ORG_KEY"
```

```json 200 theme={null}
{
  "object": "list",
  "data": [
    {"object": "publisher", "id": "6f1c2b8e-1d2a-4c3b-9e8f-0a1b2c3d4e5f", "name": "Alpha", "inventory_type": "web"},
    {"object": "publisher", "id": "1ce68bf7-91ac-4feb-9fc9-b4f289657e1e", "name": "Beta", "inventory_type": "ios_app"}
  ]
}
```

## Response

**object** `string`

Always `"list"`.

**data** `array`

**publisher properties**

**object** `string`

Always `"publisher"`.

**id** `string`

The publisher's id. Pass it as `publisher_id`.

**name** `string`

The publisher's name.

**inventory\_type** `string`

`web`, `ios_app`, or `android_app`.

The list isn't paginated.

## Errors

Errors use the same bare shape as [Insights](https://docs.thrad.ai/insights/api-reference.md#errors).

| Status | Type | Code | When |
| - | - | - | - |
| `401` | `authentication_error` | `auth_required` | No API key was sent. |
| `401` | `authentication_error` | `invalid_api_key` | The key is malformed, unknown, expired, or revoked. |
| `429` | `rate_limit_error` | `rate_limit_exceeded` | Exceeded the per-key limit of 1000 requests/hour, shared with Insights. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.