GET/api/v1/brands/{brandId}/prompts
Every prompt configured for the brand, oldest first, including paused ones (isActive = false). The ids match the promptId values in the stability endpoint.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
brandId | path | string (UUID) | A brand id from GET /api/v1/brands. |
Request
curl https://corecited.com/api/v1/brands/7d1c2b9e-4a3f-4e61-9b2a-0c5d8e7f6a14/prompts \
-H "Authorization: Bearer $CORECITED_API_KEY"// Node 18+ (global fetch). Run server-side: the key must never reach a browser.
const res = await fetch("https://corecited.com/api/v1/brands/7d1c2b9e-4a3f-4e61-9b2a-0c5d8e7f6a14/prompts", {
headers: { Authorization: `Bearer ${process.env.CORECITED_API_KEY}` },
});
const body = await res.json();
if (!res.ok) {
// Branch on body.error.code, never on the message text.
throw new Error(`${res.status} ${body.error.code}: ${body.error.message}`);
}
const { data } = body;
console.log(data);import os
import requests
res = requests.get(
"https://corecited.com/api/v1/brands/7d1c2b9e-4a3f-4e61-9b2a-0c5d8e7f6a14/prompts",
headers={"Authorization": f"Bearer {os.environ['CORECITED_API_KEY']}"},
timeout=30,
)
body = res.json()
if not res.ok:
# Branch on body["error"]["code"], never on the message text.
raise RuntimeError(f"{res.status_code} {body['error']['code']}: {body['error']['message']}")
data = body["data"]
print(data)Response
200 OK with the fields below inside data. Numbers are JSON numbers, dates are strings, and a field listed as null-able is always present, holding null when there is no value.
| Field | Type | Description |
|---|---|---|
brand | object | The brand this response is about. |
brand.id | string | The brand's id. Use it in every /brands/{brandId}/… path. |
brand.name | string | The brand name as configured in CoreCited. |
brand.domain | string | The brand's website exactly as entered during setup. This is often a full URL such as https://www.example.com/, not a bare host. |
prompts | object[] | Every prompt for the brand, active and paused, oldest first. |
prompts[].id | string | The prompt's id. |
prompts[].text | string | The question, exactly as sent to each engine. |
prompts[].isActive | boolean | False when the prompt is paused. Paused prompts are not run. |
prompts[].createdAt | string | When the prompt was added. ISO 8601 timestamp, UTC. |
Example
200 OK
{
"data": {
"brand": {
"id": "7d1c2b9e-4a3f-4e61-9b2a-0c5d8e7f6a14",
"name": "Acme Resume",
"domain": "https://www.acmeresume.com/"
},
"prompts": [
{
"id": "c0a8f2d4-1b6e-4c3a-8f9d-2e7b5a1c4d90",
"text": "What is the best resume builder for career changers?",
"isActive": true,
"createdAt": "2026-08-02T09:20:05.117Z"
},
{
"id": "5e2b7c1a-9d4f-4a8e-b3c6-7f0e1d2a3b4c",
"text": "Which resume builders are free to download?",
"isActive": false,
"createdAt": "2026-08-02T09:20:05.117Z"
}
]
}
}Errors
| Status | Code | When |
|---|---|---|
| 401 | missing_key | No key was sent in Authorization or x-api-key. |
| 401 | invalid_key | The key is malformed, unknown, or has been revoked. |
| 402 | plan_required | The workspace is not on a plan that includes API access. This is checked on every request, so it also happens after a downgrade. |
| 404 | not_found | The brand id is not a UUID, does not exist, or belongs to another workspace. These cases are deliberately indistinguishable. |
| 429 | rate_limited | The workspace used up its requests for the current minute. All keys share one limit. |
| 500 | internal | Something failed on our side. The response carries no detail by design. |
Every error has the same body. See Errors for what to do about each one.
