DevelopersREST API
Tags API
List your organisation's tag categories and the tags nested in them with the AutoRFP.ai REST API, to find the tag ids you can assign to content.
Tags organise your content library. This endpoint returns the whole tag vocabulary: every category with its nested tags. Use it to find the tag ids to pass to Bulk assign tags to content.
It needs the tags:read scope.
List tag categories#
get/v1/tag-categories
Returns the organisation's full tag vocabulary (every category with its nested tags). Unpaginated, use to discover tagIds for POST /v1/content/tags. Requires tags:read.
Required scopetags:read
Returns
Tag categories with nested tags
typeenumrequiredidstringrequiredTag category id
attributesobjectrequiredShow child attributes
namestringrequiredTag category name
tagsarray of objectsrequiredTags belonging to this category
Show child attributes
idstringrequiredTag id, pass in `tagIds` when calling POST /v1/content/tags
labelstringrequiredHuman-readable tag label
parentIdstring | nullrequiredParent tag id for hierarchical tags, or null
metaobjectrequiredShow child attributes
countnumberrequired
Errors
| Status | Meaning |
|---|---|
401 | Unauthorized |
403 | Insufficient scope |
429 | Rate limit exceeded |
500 | Internal server error |
Request
curl -g "https://api.autorfp.ai/v1/tag-categories" \
-H "Authorization: Bearer $AUTORFP_API_KEY"const response = await fetch("https://api.autorfp.ai/v1/tag-categories", {
headers: {
Authorization: `Bearer ${process.env.AUTORFP_API_KEY}`,
},
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://api.autorfp.ai/v1/tag-categories",
headers={"Authorization": "Bearer " + os.environ["AUTORFP_API_KEY"]},
)
print(response.json())Response
Response
{
"data": [
{
"type": "tag-category",
"id": "8f14e45f",
"attributes": {
"name": "Acme RFP 2026",
"tags": [
{
"id": "8f14e45f",
"label": "Security",
"parentId": "8f14e45f"
}
]
}
}
],
"meta": {
"count": 1
}
}