Classify into themes
curl --request POST \
--url https://api.sigmora.org/v1/themes/classify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "How I paid off $12,000 of debt on a teacher’s salary",
"description": "A month-by-month breakdown of the budget, side income and mistakes.",
"hashtags": [
"#debtfree",
"personalfinance"
],
"sourceCategories": [
{
"system": "youtube-video-category",
"id": "27",
"label": "Education"
}
]
}
'import requests
url = "https://api.sigmora.org/v1/themes/classify"
payload = {
"title": "How I paid off $12,000 of debt on a teacher’s salary",
"description": "A month-by-month breakdown of the budget, side income and mistakes.",
"hashtags": ["#debtfree", "personalfinance"],
"sourceCategories": [
{
"system": "youtube-video-category",
"id": "27",
"label": "Education"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'How I paid off $12,000 of debt on a teacher’s salary',
description: 'A month-by-month breakdown of the budget, side income and mistakes.',
hashtags: ['#debtfree', 'personalfinance'],
sourceCategories: [{system: 'youtube-video-category', id: '27', label: 'Education'}]
})
};
fetch('https://api.sigmora.org/v1/themes/classify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"classification": {
"themeIds": [
"<string>"
],
"rootThemeIds": [
"<string>"
],
"primaryThemeId": "<string>",
"themeAssignments": [
{
"themeId": "<string>",
"rootThemeId": "<string>",
"confidence": 0.5,
"method": "provider-category",
"reasons": [
"<string>"
]
}
],
"themeTaxonomyVersion": "<string>",
"themeTaggedAt": "2023-11-07T05:31:56Z",
"themeTaggingStatus": "classified",
"themes": [
{
"id": "iab:3.1:391",
"name": "Personal Finance",
"rootId": "<string>",
"path": [
"<string>"
],
"taxonomyVersion": "<string>",
"economics": {},
"parentId": "<string>"
}
]
}
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}Classify into themes
Classify content into canonical themes without running a paid model. Deterministic ingestion-grade classification using platform category hints, IAB labels, and Sigmora rules. Every result includes confidence, method, reasons, taxonomy version, economics and a needs-review fallback instead of pretending certainty.
POST
/
v1
/
themes
/
classify
Classify into themes
curl --request POST \
--url https://api.sigmora.org/v1/themes/classify \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "How I paid off $12,000 of debt on a teacher’s salary",
"description": "A month-by-month breakdown of the budget, side income and mistakes.",
"hashtags": [
"#debtfree",
"personalfinance"
],
"sourceCategories": [
{
"system": "youtube-video-category",
"id": "27",
"label": "Education"
}
]
}
'import requests
url = "https://api.sigmora.org/v1/themes/classify"
payload = {
"title": "How I paid off $12,000 of debt on a teacher’s salary",
"description": "A month-by-month breakdown of the budget, side income and mistakes.",
"hashtags": ["#debtfree", "personalfinance"],
"sourceCategories": [
{
"system": "youtube-video-category",
"id": "27",
"label": "Education"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'How I paid off $12,000 of debt on a teacher’s salary',
description: 'A month-by-month breakdown of the budget, side income and mistakes.',
hashtags: ['#debtfree', 'personalfinance'],
sourceCategories: [{system: 'youtube-video-category', id: '27', label: 'Education'}]
})
};
fetch('https://api.sigmora.org/v1/themes/classify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"classification": {
"themeIds": [
"<string>"
],
"rootThemeIds": [
"<string>"
],
"primaryThemeId": "<string>",
"themeAssignments": [
{
"themeId": "<string>",
"rootThemeId": "<string>",
"confidence": 0.5,
"method": "provider-category",
"reasons": [
"<string>"
]
}
],
"themeTaxonomyVersion": "<string>",
"themeTaggedAt": "2023-11-07T05:31:56Z",
"themeTaggingStatus": "classified",
"themes": [
{
"id": "iab:3.1:391",
"name": "Personal Finance",
"rootId": "<string>",
"path": [
"<string>"
],
"taxonomyVersion": "<string>",
"economics": {},
"parentId": "<string>"
}
]
}
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}{
"success": false,
"error": "<string>",
"code": "invalid_request",
"details": "<unknown>",
"requestId": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}Authorizations
A workspace API key.
Body
application/json
The content title. This is the only required field.
Required string length:
1 - 500Content summary, caption, or transcript excerpt. More context improves classification.
Maximum string length:
10000Hashtags with or without #; both forms are accepted.
Maximum array length:
100Required string length:
1 - 200Your own plain-language niche, if known.
Maximum string length:
200Provider categories already attached to the content. They are used as evidence and mapped to canonical themes.
Maximum array length:
20Show child attributes
Show child attributes