Introduction
The Soku API is a REST API that gives you full programmatic access to Soku’s publishing, media management, template rendering, transcription, and automation features. Use it to integrate Soku into your own applications, build custom workflows, or automate content operations server-to-server.Base URL
All API requests are made to the following base URL:v1.
Authentication
The Soku API uses two authentication methods depending on the type of endpoint you are calling:
Most developers only need API key authentication. You can create and manage API keys from the Soku dashboard under Settings > API Keys.
For full details on obtaining and securing your API key, see Authentication.
Subscription Required
All content API calls require an active Soku subscription. Your account must be in either a trialing or active subscription state. If your subscription has expired or been canceled, API requests will return a403 Forbidden error.
Available Endpoints
Content Endpoints (API Key Auth)
Key Management Endpoints (ID Token Auth)
Other Endpoints (ID Token Auth)
Request Format
All request bodies must be sent as JSON with theContent-Type: application/json header.
Response Format
All responses are returned as JSON. Successful responses include the relevant resource data. Error responses follow a consistent structure with anerror object containing a machine-readable type, a code, a human-readable message, a timestamp, and a requestId for support correlation.
Successful response:
Request Tracking
Every API response includes anX-Request-ID header. This value uniquely identifies your request and can be used when contacting support to help diagnose issues.
X-Request-ID header with a request. If provided, the API will use your value for correlation instead of generating one.
Rate Limits
API requests are subject to rate limits based on your authentication and subscription tier. Authenticated users with an active subscription (Premium tier) receive up to 100 requests per minute. Individual endpoints may have lower limits. See Rate Limits for details. Rate limit information is included in every response via theX-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-RateLimit-Tier headers.
For details on rate limit tiers, burst allowances, endpoint-specific limits, and best practices, see Rate Limits.
Idempotency
The following endpoints support idempotent requests via theIdempotency-Key header:
POST /v1/postsPOST /v1/mediaPOST /v1/ai/transcribe
Idempotency-Key header, Soku auto-derives a key from your user ID and a hash of the request payload. Sending the same idempotency key with the same request body returns the cached original response. Sending the same key with a different body returns a 409 Conflict error.