Archive Prompts
Archive up to 100 active prompts so that they stop being analyzed. Each archived prompt refunds one prompt credit.
curl --request POST \
--url https://api.aiclicks.io/api/v1/prompts/archive \
--header 'Authorization: Bearer ak_live_xxx' \
--header 'Content-Type: application/json' \
--data '{
"domain_id": "8f1d3c0a-2f9b-4c11-9b80-7a82e1f0c3f3",
"prompt_ids": [
"21c1f9aa-9b6d-4e3a-8a31-2b0c0e1f2a3b",
"5b7e2d10-4c3a-4f8e-9d21-6a0b1c2d3e4f"
]
}'
import httpx, os
resp = httpx.post(
"https://api.aiclicks.io/api/v1/prompts/archive",
headers={"Authorization": f"Bearer {os.environ['AICLICKS_API_KEY']}"},
json={
"domain_id": "8f1d3c0a-2f9b-4c11-9b80-7a82e1f0c3f3",
"prompt_ids": [
"21c1f9aa-9b6d-4e3a-8a31-2b0c0e1f2a3b",
"5b7e2d10-4c3a-4f8e-9d21-6a0b1c2d3e4f",
],
},
)
resp.raise_for_status()
data = resp.json()["data"]
print(data["archived_count"], "archived;", data["credits_refunded"], "credits back")
const resp = await fetch("https://api.aiclicks.io/api/v1/prompts/archive", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AICLICKS_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
domain_id: "8f1d3c0a-2f9b-4c11-9b80-7a82e1f0c3f3",
prompt_ids: [
"21c1f9aa-9b6d-4e3a-8a31-2b0c0e1f2a3b",
"5b7e2d10-4c3a-4f8e-9d21-6a0b1c2d3e4f",
],
}),
});
const { data } = await resp.json();
console.log(data.archived_count, data.new_remaining);
{
"data": {
"success": true,
"archived_count": 2,
"archived_query_count": 2,
"archived_topic_query_count": 0,
"credits_refunded": 2,
"previous_remaining": 40,
"new_remaining": 42
},
"generated_at": "2026-11-09T10:00:11.218000+00:00"
}
{
"detail": "Prompts not found among this domain's active prompts: 5b7e2d10-4c3a-4f8e-9d21-6a0b1c2d3e4f"
}
{
"detail": "Invalid or revoked API key"
}
{
"detail": "Too many requests. Please try again later."
}
Archives active prompts of a domain. An archived prompt is not in the next analysis runs. The API keeps the history of the prompt. Each archived prompt gives one prompt credit back to the team.
Send 1 to 100 prompt IDs. All IDs must be active prompts of the domain. If one ID is not, the call returns 404 and the API archives no prompts. Find prompt IDs with GET /api/v1/prompts.
Archived prompts stop collecting new answers. Metrics for the domain then use fewer prompts. Archive prompts only when you do not want to track them.
Authorizations
Your API key in the format Bearer ak_live_<your-key>. Create a key in the dashboard under Settings → Developers. The key must have access to the team that owns domain_id.
Must be application/json.
Body parameters
UUID of the domain that owns the prompts.
UUIDs of the prompts to archive. Send 1 to 100 IDs. Each ID must be an active prompt of the domain.
Response
true when the archive is complete.
The number of prompts that the API archived.
The same number as archived_count for this endpoint.
Always 0 for this endpoint. The API keeps the topic links of archived prompts.
The prompt credits that the team got back. This is one credit for each archived prompt. For a pitch domain, the value is 0.
The prompt credits of the team before the call.
The prompt credits of the team after the refund.
ISO-8601 time when the server made this response.
Side effects
- The archived prompts stop being analyzed. Their old answers stay in the history.
- The team gets one prompt credit back for each archived prompt.
- The API clears the cache of
GET /api/v1/prompts,GET /api/v1/tagsandGET /api/v1/topicsfor the domain.
Errors
The API key is missing, malformed or revoked.
The caller is not a member of the team of the domain. Or the API key has no access to this domain. Or the plan of the team does not include API access.
One or more IDs are not active prompts of the domain. The message lists these IDs. The API archives no prompts.
The body is not valid. For example, prompt_ids is empty, has more than 100 items, or has a value that is not a UUID.
You sent too many requests. Read the Retry-After header to know how long to wait.