Authentication
Send either Authorization: Bearer YOUR_TOKEN
or X-API-Key: YOUR_TOKEN.
Create tokens under Dashboard → API Tokens and enable tools:execute.
Alternatively, exchange email and password for a token: POST https://toolversa.com/api/auth/token (JSON body: email, password, optional device_name, abilities[], expires_at).
Required request headers
Accept: application/json
Content-Type: application/json
User-Agent: your-app-name/1.0
Authorization: Bearer YOUR_TOKEN
# or:
X-API-Key: YOUR_TOKEN
Optional hardening: request signing can be enabled by ops via API_SIGNATURE_ENABLED=true.
Synchronous execution
POST https://toolversa.com/api/tools/youtube-description-generator
Accept: application/json
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
This tool uses AI credits. The API returns 429 when your monthly AI credits are exhausted.
Parameters
| Name |
Type |
Required |
| topic |
textarea |
Yes |
| tone |
select |
Yes |
| audience |
text |
No |
| keywords |
text |
No |
| call_to_action |
text |
No |
| include_timestamps |
checkbox |
No |
| variation_count |
select |
Yes |
| language |
text |
No |
Example JSON body
{
"topic": "Your text here",
"tone": "professional",
"audience": "value",
"keywords": "value",
"call_to_action": "value",
"include_timestamps": "value",
"variation_count": "3",
"language": "value"
}
Response
JSON envelope:
{
"success": true,
"data": {
"tool": { "id": 150, "name": "...", "slug": "youtube-description-generator" },
"output": { /* tool-specific result */ },
"duration_ms": 0,
"status": "success",
"response_token": "short_lived_integrity_token"
},
"message": "Tool executed successfully."
}
Error status map: 401 unauthorized/signature, 403 plan/access/captcha, 409 replay detected,
413 payload too large, 415 content-type rejected, 422 validation/execution, 429 rate/abuse limits.