curl --request GET \
--url https://api.entendre.finance/v1/tags \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/tags', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/tags"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "tag_456ghi",
"organization_id": "org_abc123",
"key": "Customer",
"value": "Acme Corp",
"status": "active",
"usage_count": 0,
"created_at": "2026-08-31T12:00:00Z",
"updated_at": null
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.",
"documentation_url": "https://entendre.ai/docs/get-started/authentication"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}List tags
Lists organization tags.
curl --request GET \
--url https://api.entendre.finance/v1/tags \
--header 'X-API-Key: <api-key>'const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.entendre.finance/v1/tags', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/tags"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"id": "tag_456ghi",
"organization_id": "org_abc123",
"key": "Customer",
"value": "Acme Corp",
"status": "active",
"usage_count": 0,
"created_at": "2026-08-31T12:00:00Z",
"updated_at": null
}
],
"has_more": false,
"next_cursor": null
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid path, query or request body.",
"request_id": "req_example"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or expired API Key",
"request_id": "req_example",
"suggested_action": "Send an API key in X-API-Key, or an OAuth access token as Authorization: Bearer. Refresh an expired access token.",
"documentation_url": "https://entendre.ai/docs/get-started/authentication"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient access to organization",
"request_id": "req_example"
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"request_id": "req_example"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded. Retry after 30s.",
"request_id": "req_example"
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error",
"request_id": "req_example"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service unavailable.",
"request_id": "req_example"
}
}Authorizations
Your organization API key. See Authentication.
Query Parameters
IDs to return, separated by commas. The other filters also apply.
1 - 100 elements1Include the total number of matching records. If the count cannot be calculated, the request fails.
Field to sort by. Defaults to created_at. Use created_at to page through all tags. With updated_at, a tag that changes during paging can be skipped.
created_at, updated_at Sort direction. Defaults to desc (newest first).
asc, desc Maximum number of records to return.
1 <= x <= 100The next_cursor value from the previous page. Keep the other filters unchanged.
Usable or retained for history.
active, archived Case-insensitive search in labels and descriptions.
Tag key. Must be one of the listed values. Other values return HTTP 400.
Customer, Supplier, System, ID, Bank Account, Cost Center, Class, Staff, Product, Workflow, Review Status, Custom Tag value search.
Response
The matching records.
The records.
Show child attributes
Show child attributes
Whether another page is available.
Cursor for the next page, or null on the last page.
Total matching records across all pages. Present when include_count=true.
x >= 0