Media kits, link in bio, and decks
Work with the supported CreatorsJet publishing resources through Public API V1.
Public API V1 exposes a deliberately small publishing surface: ensure and retrieve default media kits, manage one creator link-in-bio page, and manage agency pitch decks.
Media kits
Creator and agency keys can ensure, list, and retrieve visible media kits.
For a creator key, omit creator_id; the creator is inferred from the key:
curl https://api.creatorsjet.com/public/v1/media-kits \
--request POST \
--header "Authorization: Bearer $CREATORSJET_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data '{}'For an agency key, supply a creator already in the agency roster:
{
"creator_id": "66b0f51d46071dc43b2db103"
}The endpoint returns 201 when it creates the default kit and 200 when it returns the existing kit. Repeated calls do not create customizable or duplicate kits.
Public API V1 does not edit kit blocks, themes, analytics configuration, publication settings, or platform synchronization.
Link in bio
Link-in-bio management is creator-only. Call GET /link-in-bio before choosing whether to create or update the page.
Create the creator's single page with a public slug:
curl https://api.creatorsjet.com/public/v1/link-in-bio \
--request POST \
--header "Authorization: Bearer $CREATORSJET_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data '{
"slug": "maria-links",
"username": "Maria",
"bio": "Fashion creator and stylist",
"social_links": [
{ "platform": "instagram", "handle_or_url": "@maria" }
],
"blocks": [
{
"client_id": "portfolio",
"type": "link",
"title": "My portfolio",
"url": "https://maria.example.com",
"visible": true,
"order": 0
}
]
}'New blocks require a stable client_id. Keep that value in your system and reuse it when retrying the same operation. Existing blocks are selected by their returned id.
PATCH /link-in-bio changes only supplied page fields and blocks. Omitting a field leaves it unchanged. V1 supports link, title, and text blocks; it does not delete blocks, upload media, configure custom domains, or expose the complete designer.
Social links on a link-in-bio page are presentation links. They do not attach or remove the creator's underlying CreatorsJet social accounts.
Pitch decks
Pitch decks are agency-only. Every creator_id selected for a deck must belong to the authenticated agency's roster.
Create a deck with POST /decks:
curl https://api.creatorsjet.com/public/v1/decks \
--request POST \
--header "Authorization: Bearer $CREATORSJET_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data '{
"slug": "summer-creators",
"title": "Summer creator shortlist",
"bio": "Creators selected for the summer launch.",
"contact_email": "[email protected]",
"creator_ids": ["66b0f51d46071dc43b2db103"],
"tags": ["summer", "fashion"],
"visibility": "link"
}'PATCH /decks/{deck_id} changes only supplied fields, except creator_ids, which replaces the deck's complete creator selection when provided.
For private visibility, provide a password in the same write. Passwords are write-only and never returned. The response reports only has_password.
Deck creation applies the agency's current deck allowance. V1 does not upload pictures or covers, ingest remote images, delete decks, or implicitly add creators to the roster.
Use returned URLs
Media-kit, link-in-bio, and deck responses include editor and public share URLs where applicable. Use those returned URLs instead of constructing frontend routes in your integration.
For exact field constraints, themes, CTA values, visibility behavior, and response schemas, use the generated endpoint reference.