Skip to main content
The shortkit API provides programmatic access to all platform capabilities, from content management to feed delivery to analytics.

Base URL

All API requests use the following base URL:
https://api.shortkit.dev/v1

API design

The API follows REST conventions:
  • Resource-oriented URLs: /v1/content, /v1/feed, /v1/analytics
  • Standard HTTP methods: GET, POST, PATCH, DELETE
  • JSON request/response bodies
  • Consistent response envelope

Response format

All responses use a consistent envelope:

Success response

{
  "data": {
    "id": "cnt_abc123",
    "title": "My Video",
    "status": "ready"
  },
  "meta": {
    "requestId": "req_xyz789"
  }
}

List response

{
  "data": [
    { "id": "cnt_abc123", "title": "Video 1" },
    { "id": "cnt_def456", "title": "Video 2" }
  ],
  "meta": {
    "total": 150,
    "nextCursor": "eyJvZmZzZXQiOjIwfQ=="
  }
}

Error response

{
  "error": {
    "code": "INVALID_REQUEST",
    "message": "Title is required",
    "details": {
      "field": "title",
      "reason": "required"
    }
  },
  "meta": {
    "requestId": "req_xyz789"
  }
}

Pagination

List endpoints use cursor-based pagination:
# First page
curl https://api.shortkit.dev/v1/content?limit=20

# Next page
curl https://api.shortkit.dev/v1/content?limit=20&cursor=eyJvZmZzZXQiOjIwfQ==
Parameters:
  • limit - Items per page (default: 20, max: 100)
  • cursor - Cursor from previous response’s meta.nextCursor

Rate limiting

API requests are rate-limited per organization:
TierRequests/minute
Standard1,000
Pro5,000
EnterpriseCustom
Rate limit headers are included in all responses:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1707048060
When rate limited, you receive a 429 Too Many Requests response.

Idempotency

For safe retries, include an Idempotency-Key header on POST requests:
curl -X POST https://api.shortkit.dev/v1/content/upload \
  -H "Authorization: Bearer sk_live_..." \
  -H "Idempotency-Key: unique-request-id-123" \
  -F "[email protected]"
If a request with the same idempotency key is repeated within 24 hours, the original response is returned without re-executing the operation.

Versioning

The API version is included in the URL path (/v1/). Breaking changes are only introduced in new versions. Non-breaking additions (new fields, new endpoints) are added to the current version.

Environments

EnvironmentBase URLPurpose
Productionhttps://api.shortkit.dev/v1Live traffic
Staginghttps://api.staging.shortkit.dev/v1Testing
Use environment-specific API keys.

SDKs

While you can use the API directly, we provide official SDKs:
  • Node.js: npm install @shortkit/node
  • Python: pip install shortkit
  • Go: go get github.com/shortkit/shortkit-go
SDK example:
import { ShortkitAdmin } from '@shortkit/node';

const shortkit = new ShortkitAdmin({
  apiKey: 'sk_live_your_secret_key'
});

const content = await shortkit.content.create({
  title: 'My Video',
  sourceUrl: 'https://storage.example.com/video.mp4'
});

Endpoint categories

Next steps