---
title: "Create Prompts"
method: POST
path: "/api/v1/prompts"
tags: ["Basics"]
---

# Create Prompts

`POST /api/v1/prompts`

Creates one or more prompts on a website. Returns the created prompt ids. Each prompt's geography (`countries` / `primary_country`) and any attached `location_ids` are validated for compatibility before insert.

## Request body

- object
  - `website_id` string, uuid, required — Website to create the prompts on.
  - `prompts` object[], required
    - `prompt` string, required — Prompt text. Trimmed; empty / whitespace-only is rejected.
    - `type` 'discovery' | 'high_intent', nullable — Prompt type. Omitted/null is inferred from the text.
    - `volume` string, nullable — Free-text volume label.
    - `current_monthly_searches` integer, nullable — Estimated monthly searches. Fractional input is rounded to an integer; out-of-range returns 400.
    - `current_total_value` integer, nullable — Estimated total monthly value. Fractional input is rounded to an integer.
    - `topic_id` string, uuid, nullable — Topic to assign the prompt to.
    - `countries` string[], nullable — Supported country names (case-insensitive; stored as canonical labels).
    - `primary_country` string, nullable — Primary country. When `countries` is non-empty it must be one of them.
    - `persona_ids` string[], nullable — Persona ids to associate.
    - `location_ids` string[], nullable — Location ids to associate. A location's country must be compatible with the prompt's countries.
    - `tag_ids` string[], nullable — Tag ids to assign.
    - `is_paused` boolean — Create the prompt paused (preserves paused state on import). Defaults to active.
  - `source` 'manual' | 'ai_generated' | 'bulk_upload' — Attribution source (UI server action only; ignored for API-key callers).

## Response `201`

Prompts created

- object
  - `success` boolean, required
  - `count` integer, required
  - `prompt_ids` string[], required

## Other responses

- `400` — Bad request - Validation error
- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden - You don't have access to this website
- `500` — Internal server error

---

[API](https://skmtc.net/athenahq/apis/athenahq-api.md) · [All operations](https://skmtc.net/athenahq/apis/athenahq-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/athenahq/athenahq-api/revisions/6c5d71622cb9/schema)
