---
title: "Create author"
method: POST
path: "/v1/authors"
tags: ["Authors"]
---

# Create author

`POST /v1/authors`

Create a new author. Requires a private API key. Plan limits apply.

## Request body

- CreateAuthorBody
  - `name` string, required
  - `slug` string, required
  - `bio` string, nullable
  - `role` string, nullable
  - `email` string, email, nullable
  - `image` string, uri, nullable
  - `socials` SocialInput[] — Social media links for this author
    - `platform` 'x' | 'twitter' | 'github' | 'facebook' | 'instagram' | 'youtube' | 'tiktok' | 'linkedin' | 'website' | 'onlyfans' | 'discord' | 'bluesky', required
    - `url` string, uri, required

## Response `201`

Author created successfully

- CreateAuthorResponse
  - `author` object, required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `bio` string, nullable, required
    - `role` string, nullable, required
    - `image` string, nullable, required
    - `socials` Social[], required
      - `url` string, uri, required
      - `platform` string, required

## Other responses

- `400` — Invalid request body
- `403` — Public API key used for write operation or plan limit reached
- `409` — Author with this slug already exists
- `500` — Server error

---

[API](https://skmtc.dev/marblecms/apis/marble-api.md) · [All operations](https://skmtc.dev/marblecms/apis/marble-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/marblecms/marble-api/revisions/ce3a22722c0e/schema)
