# Public API overview

> Review the implemented server-to-server creator, roster, media-kit, link-in-bio, pitch-deck, campaign, and page-view analytics contract for CreatorsJet Public API V1.
>
> Canonical URL: https://docs.creatorsjet.com/api

The CreatorsJet Public API V1 contract defines a server-to-server REST API for agency and creator accounts. The backend implementation is release gated and is not currently a generally available public endpoint.

> **Warn — Production access is not generally available:**
>
> Use this documentation to review the implemented V1 contract. Requests will work only after CreatorsJet enables Public API access for the target account and environment.

> **Info — Server-side use only:**
>
> Public API keys are secrets. Never place one in browser code, a mobile application, a public repository, or client-visible logs.

## Base URL

```text
https://api.creatorsjet.com/public/v1
```

All request and response fields use `snake_case`. IDs are opaque strings and timestamps use ISO 8601.

Use the task guides for workflow decisions and the [generated endpoint reference](/api/reference) for exact schemas and response statuses. The checked-in OpenAPI contract is the source of truth for the REST interface.

## Account eligibility

| Account | Eligible plan                    | V1 capability after access is enabled                                                                                                                       |
| ------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Creator | Active Pro                       | Read the creator's own profile and media kits; create, retrieve, or edit their link-in-bio and campaigns; and read link-in-bio or campaign-report analytics |
| Agency  | Active Pro, Scale, or Enterprise | Manage roster creators and imports, retrieve media kits, create or edit pitch decks and campaigns, and read roster, deck, or campaign-report analytics      |

Agency API keys belong to the agency and can be managed by current agency owners. Creator keys belong to the creator represented by the signed-in user. If an account becomes ineligible, existing keys are retained but requests return `403 PUBLIC_API_PLAN_REQUIRED`.

## V1 capabilities

| Domain                | Implemented V1 behavior                                                                                                                              |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Creator profiles      | Retrieve identity, public social accounts, summary metrics, data status, and freshness timestamps. Creator keys can retrieve only their own profile. |
| Agency rosters        | Add one creator or list an agency roster with opaque cursor pagination.                                                                              |
| CSV imports           | Queue an import of up to 500 creator rows and retrieve row-level progress and results.                                                               |
| Media kits            | Ensure, list, and retrieve the default media kit visible to a creator or agency subject.                                                             |
| Link in bio           | Creator keys can create, retrieve, or edit their single page, social profile links, and safe link, title, or text blocks.                            |
| Pitch decks           | Agency keys can list, retrieve, create, or edit agency-owned decks using creators already in the agency roster.                                      |
| Campaigns             | Creator and agency keys can list, retrieve, create, or edit owned campaign metadata, schedules, tracking state, CPM values, and EMV override.        |
| Page-view analytics   | Retrieve page views, unique visitors, and a time series for owned media kits, link-in-bio pages, public rosters, decks, or campaign reports.         |
| Sponsorship discovery | Not included in V1. No sponsorship endpoint is published.                                                                                            |

V1 intentionally excludes creator-profile mutation, social OAuth and synchronization controls, full media-kit editing, link-in-bio block deletion, campaign participants and content, campaign report configuration and lifecycle actions, deck, link-in-bio, or campaign deletion, media uploads, custom domains, the full link-in-bio designer, creator invitations, webhooks, SDKs, GraphQL, XLSX, Google Sheets imports, and remote avatar ingestion.

## Endpoint summary

| Method  | Endpoint                       | Account                | Required scope                  |
| ------- | ------------------------------ | ---------------------- | ------------------------------- |
| `GET`   | `/me`                          | Creator or agency      | Any valid key                   |
| `POST`  | `/creators`                    | Agency                 | `roster:write`                  |
| `GET`   | `/creators`                    | Agency                 | `roster:read`                   |
| `GET`   | `/creators/{creator_id}`       | Agency or creator self | `roster:read` or `profile:read` |
| `POST`  | `/creator-imports`             | Agency                 | `roster:write`                  |
| `GET`   | `/creator-imports/{import_id}` | Agency                 | `roster:read`                   |
| `POST`  | `/media-kits`                  | Creator or agency      | `media_kits:write`              |
| `GET`   | `/media-kits`                  | Creator or agency      | `media_kits:read`               |
| `GET`   | `/media-kits/{media_kit_id}`   | Creator or agency      | `media_kits:read`               |
| `GET`   | `/link-in-bio`                 | Creator                | `link_in_bio:read`              |
| `POST`  | `/link-in-bio`                 | Creator                | `link_in_bio:write`             |
| `PATCH` | `/link-in-bio`                 | Creator                | `link_in_bio:write`             |
| `GET`   | `/decks`                       | Agency                 | `decks:read`                    |
| `POST`  | `/decks`                       | Agency                 | `decks:write`                   |
| `GET`   | `/decks/{deck_id}`             | Agency                 | `decks:read`                    |
| `PATCH` | `/decks/{deck_id}`             | Agency                 | `decks:write`                   |
| `GET`   | `/campaigns`                   | Creator or agency      | `campaigns:read`                |
| `POST`  | `/campaigns`                   | Creator or agency      | `campaigns:write`               |
| `GET`   | `/campaigns/{campaign_id}`     | Creator or agency      | `campaigns:read`                |
| `PATCH` | `/campaigns/{campaign_id}`     | Creator or agency      | `campaigns:write`               |
| `GET`   | `/analytics/views`             | Creator or agency      | `analytics:read`                |

Cross-account resources return `404` rather than revealing that another tenant owns the requested ID.

## Next steps

* [Make your first request](/api/getting-started)
* [Create and protect API keys](/api/authentication)
* [Understand resource ownership](/api/ownership)
* [Import creators from CSV](/api/imports)
* [Work with media kits, link in bio, and decks](/api/content-pages)
* [Create and update campaigns](/api/campaigns)
* [Read page-view analytics](/api/analytics)
* [Use idempotency safely](/api/idempotency)
* [Understand rate limits](/api/rate-limits)
* [Handle API errors](/api/errors)
* [Browse the generated endpoint reference](/api/reference)
