API

AI Result Tracker – Prompt Groups

Organize tracked prompts into groups for cleaner reporting and bulk operations. Groups live at the site level and are shared across every LLM engine configured for that site; prompts are assigned to groups per engine. Data in the AI Result Tracker is refreshed daily.

Note:
  • Each site has one non-deletable default group. New prompts land in the default group unless a group_id is specified at creation.
  • Deleting a non-default group moves its prompts to the default group.
  • Group names must be non-empty and unique within a site, maximum 255 characters.
  • Aggregated per-group metrics are not yet available in the public API; tracked in a follow-up task.

List prompt groups

GET https://api.seranking.com/v1/project-management/airt/prompts/groups

Quick start

Copy
curl 'https://api.seranking.com/v1/project-management/airt/prompts/groups?site_id=11270054&keys_count=1' \
-H 'Authorization: Token YOUR_API_KEY'

Returns every prompt group for project 11270054, ordered by position, with a keys_count on each group.

Request parameters

ParameterTypeRequiredDescription
site_idintegeryesProject ID. From GET /sites.
keys_countenumno0 or 1. When 1, each group includes a keys_count field. Defaults to omitted (no keys_count in response).
site_llm_ids[]integer[]noFilter to groups that contain at least one prompt on these LLM engines. Repeat the parameter: site_llm_ids[]=1&site_llm_ids[]=2. Combined as OR (union).

Response shape

Copy
[
{
"id": "string",
"name": "string",
"position": "string",
"is_default": "string",
"creation_date": "YYYY-MM-DD",
"keys_count": "string"
}
]

The response is a bare JSON array (no data envelope).

FieldTypeDescription
idstringNumeric group ID, encoded as a string. Use as group_id in every other prompt-group / prompts endpoint.
namestringGroup name. Unique within the project (case-sensitive). Max 255 chars.
positionstringSort order within the project, ascending. Not guaranteed to start at 0.
is_defaultstring"1" for the project’s undeleteable default group, "0" otherwise. Exactly one default per project once AIRT has been initialized.
creation_datestringYYYY-MM-DD (server timezone). The default group’s date equals the day AIRT was first opened on the project, not the project’s creation date.
keys_countstringNumeric prompt count, encoded as a string. Present only when keys_count=1 in the query. When site_llm_ids[] is also set, this becomes per-filtered-engine.

Response example

Project 11270054, all three groups, with counts requested:

Copy
[
{ "id": "26377", "name": "General", "position": "1", "is_default": "1", "creation_date": "2026-03-03", "keys_count": "25" },
{ "id": "52273", "name": "docs-test-alpha", "position": "2", "is_default": "0", "creation_date": "2026-05-15", "keys_count": "2" },
{ "id": "52276", "name": "docs-test-beta", "position": "3", "is_default": "0", "creation_date": "2026-05-15", "keys_count": "3" }
]

Error responses

CodeScenario
400Invalid query parameters.
403Project doesn’t exist, or exists but isn’t owned by the API key (the gateway conflates the two).
404site_id=0 only.

Missing or malformed site_id does not error — it silently returns the /sites project list with HTTP 200.


Create prompt group

POST https://api.seranking.com/v1/project-management/airt/prompts/groups

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Creates a new prompt group for a site. The new group is appended to the end of the group order. Returns 400 if a group with the same name already exists.

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
nameStringYesN/AGroup name. Non-empty, maximum 255 characters, unique within the site. Body parameter.

Request example

Copy
curl -X POST "https://api.seranking.com/v1/project-management/airt/prompts/groups?site_id=123" \
-H "Content-Type: application/json" \
-d '{"name": "Competitors"}'\
-H 'Authorization: Token YOUR_API_KEY'

Response parameters

ParameterTypeDescription
idIntegerID of the created group.

Response example

Copy
{ "id": 12 }

Error responses

CodeScenario
400Empty or missing name, name exceeds 255 characters, or name already exists on this site.
403Access denied to the requested site.
404Site not found.

Rename prompt group

PATCH https://api.seranking.com/v1/project-management/airt/prompts/groups

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Updates the name of a prompt group.

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
group_idIntegerYesN/AGroup ID. Path parameter.
nameStringYesN/ANew group name. Non-empty, maximum 255 characters. Body parameter.

Request example

Copy
curl -X PATCH "https://api.seranking.com/v1/project-management/airt/prompts/groups?site_id=123&group_id=147" \
-H "Content-Type: application/json" \
-d '{"name": "Branded queries"}'\
-H 'Authorization: Token YOUR_API_KEY'

Response parameters

ParameterTypeDescription
idIntegerID of the renamed group.

Response example

Copy
{ "id": 12 }

Error responses

CodeScenario
400Empty or missing name, name exceeds 255 characters, or name already exists on this site.
403Access denied to the requested site.
404Site or group not found.

Delete prompt group

DELETE https://api.seranking.com/v1/project-management/airt/prompts/groups

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Deletes a prompt group. All prompts currently in the group are moved to the default group. The default group itself cannot be deleted.

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
group_idIntegerYesN/AGroup ID. Path parameter.

Request example

Copy
curl -X DELETE "https://api.seranking.com/v1/project-management/airt/prompts/groups?site_id=123&group_id=147"\
-H 'Authorization: Token YOUR_API_KEY'

Response

Returns 204 No Content on success.

Error responses

CodeScenario
400Invalid request.
403Access denied, or attempt to delete the default group.
404Site or group not found.

Change group order

POST https://api.seranking.com/v1/project-management/airt/prompts/groups/order

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Moves a group to a new position in the site’s group order. Provide exactly one of before_id or after_id to anchor the new position.

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
group_idIntegerYesN/AID of the group to move. Path parameter.
before_idIntegerConditionalN/APlace the group immediately before this neighbour group ID. Required if after_id is omitted. Body parameter.
after_idIntegerConditionalN/APlace the group immediately after this neighbour group ID. Required if before_id is omitted. Body parameter.

Request example

Move group 12 to right after group 18:

Copy
curl -X POST "https://api.seranking.com/v1/project-management/airt/prompts/groups/order?site_id=123&group_id=147" \
-H "Content-Type: application/json" \
-d '{"after_id": 18}'\
-H 'Authorization: Token YOUR_API_KEY'

Response

Returns 204 No Content on success.

Error responses

CodeScenario
400Both before_id and after_id are provided, or neither.
403Access denied to the requested site.
404Site, source group, or anchor group not found.

Delete all prompts in group

DELETE api.seranking.com/v1/project-management/airt/prompts/groups/prompts

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Removes every prompt currently assigned to the group. The group itself is not deleted.

Warning:

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
group_idIntegerYesN/AGroup ID. Path parameter.

Request example

Copy
curl -X DELETE "https://api.seranking.com/v1/project-management/airt/prompts/groups/prompts?site_id=123&group_id=147"\
-H 'Authorization: Token YOUR_API_KEY'

Response

Returns 204 No Content on success.

Error responses

CodeScenario
400Invalid request.
403Access denied to the requested site.
404Site or group not found.

Move prompts to group

POST https://api.seranking.com/v1/project-management/airt/prompts/groups/move

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Moves a specific set of prompts into the target group. Prompts can come from any group on the same site.

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
group_idIntegerYesN/ATarget group ID. Path parameter.
k2site_llm_idsArray of IntegerYesN/APrompt-to-LLM link IDs to move, same IDs returned as k2site_llm_id by GET /prompts. Non-empty. Body parameter.

Request example

Copy
curl -X POST "https://api.seranking.com/v1/project-management/airt/prompts/groups/move?site_id=123&group_id=147" \
-H "Content-Type: application/json" \
-d '{"k2site_llm_ids": [101, 102, 103]}'\
-H 'Authorization: Token YOUR_API_KEY'

Response

Returns 204 No Content on success.

Error responses

CodeScenario
400Empty or missing k2site_llm_ids.
403Access denied to the requested site.
404Site, target group, or one or more prompts not found.

Move all prompts from one group to another

POST https://api.seranking.com/v1/project-management/airt/prompts/groups/transfer

Cost: 0. Managing prompt groups does not consume API credits or subscription quota.

Moves every prompt from one group to another in a single call. Use this to merge a group into another group, then optionally delete the now-empty source group.

Request parameters

ParameterTypeRequiredDefaultDescription
site_idIntegerYesN/ASite ID. Path parameter.
from_group_idIntegerYesN/ASource group ID. Body parameter.
to_group_idIntegerYesN/ATarget group ID. Body parameter.

Request example

Copy
curl -X POST "https://api.seranking.com/v1/project-management/airt/prompts/groups/transfer?site_id=123" \
-H "Content-Type: application/json" \
-d '{"from_group_id": 18, "to_group_id": 12}'\
-H 'Authorization: Token YOUR_API_KEY'

Response

Returns 204 No Content on success.

Error responses

CodeScenario
400Missing from_group_id or to_group_id, or both are equal.
403Access denied to the requested site.
404Site, source group, or target group not found.

Learn how SE Ranking’s API can boost your SEO!

Hi! Meet our product experts!

One of them will walk you through the API and show you how to get the most out of it.

  • Enjoy a tailored demo on integrating rich, structured SEO data into your stack.
  • Pin down every tech detail live—auth, endpoints, rate limits, data formats.
  • Compare usage tiers and pricing so you can unlock maximum data value.

Request a free demo to see our tools and integrations in action

By clicking this button, you agree to SE Ranking’s
Terms of Service and Privacy Policy.