Skip to main content
GET
/
content
/
{id}
Get content by id
curl --request GET \
  --url https://server.promptwatch.com/api/v2/content/{id} \
  --header 'X-API-Key: <api-key>'
{
  "id": "6ba7b82c-9dad-11d1-80b4-00c04fd430c8",
  "status": "IN_PROGRESS",
  "mode": "CREATE",
  "type": "ARTICLE",
  "title": "Illustrative draft title",
  "promptId": "6ba7b823-9dad-11d1-80b4-00c04fd430c8",
  "prompt": "Best CRM for 50-person services firms?",
  "description": "Short brief for writers (illustrative).",
  "content": "## Section\n\nPartial markdown body…",
  "contentLength": "MEDIUM",
  "optimizationLevel": null,
  "url": null,
  "toneOfVoice": "PROFESSIONAL",
  "customToneOfVoice": null,
  "createdAt": "2026-03-29T14:00:00.000Z",
  "updatedAt": "2026-03-29T14:05:00.000Z",
  "startedAt": "2026-03-29T14:00:30.000Z",
  "completedAt": null,
  "failedAt": null,
  "failedReason": null,
  "stoppedAt": null
}

Authorizations

X-API-Key
string
header
required

API key for authentication. Get yours from the Promptwatch dashboard under Settings > API Keys.

Path Parameters

id
string<uuid>
required

Document id from create response.

Response

Default Response

id
string<uuid>
required
status
enum<string>
required

PENDING: queued for generation; IN_PROGRESS: AI is actively generating content; COMPLETED: generation finished successfully; FAILED: generation encountered an error; STOPPED: generation was manually stopped by the user (may contain partial content).

Available options:
PENDING,
IN_PROGRESS,
COMPLETED,
FAILED,
STOPPED
mode
enum<string>
required
Available options:
CREATE,
OPTIMIZE
type
enum<string> | null
required

Set for CREATE mode.

Available options:
ARTICLE,
BLOG_POST,
PRODUCT_PAGE,
GENERIC_CONTENT,
LISTICLE,
PRODUCT_COMPARISON
title
string | null
required

Document title. Null while PENDING; may appear during IN_PROGRESS as a partial or working title; final once COMPLETED.

promptId
string<uuid> | null
required

Linked monitor prompt id (same as POST /content/create promptId).

prompt
string | null
required

Linked LLM prompt text from GET /prompts; null if the prompt was removed.

description
string | null
required
content
string | null
required

Markdown body. Null while PENDING; partially written during IN_PROGRESS (content streams in progressively and is incomplete); final once COMPLETED. STOPPED documents may contain partial content.

contentLength
enum<string> | null
required
Available options:
SHORT,
MEDIUM,
LONG
optimizationLevel
enum<string> | null
required
Available options:
LOW,
MEDIUM,
HIGH
url
string<uri> | null
required

Optimize target URL (OPTIMIZE mode).

toneOfVoice
enum<string> | null
required
Available options:
PROFESSIONAL,
CASUAL,
TECHNICAL,
CONVERSATIONAL,
NEUTRAL,
AUTHORITATIVE,
FRIENDLY,
PERSUASIVE,
FORMAL,
WITTY,
CUSTOM
customToneOfVoice
string | null
required
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
startedAt
string<date-time> | null
required
completedAt
string<date-time> | null
required
failedAt
string<date-time> | null
required
failedReason
string | null
required
stoppedAt
string<date-time> | null
required