Developer Docs

StashKit API

Upload, manage, and schedule your content programmatically. Build integrations, CLI workflows, and automated pipelines on top of StashKit.

Quick Start

Generate an API key from the API Keys page, then make your first request:

List your content
curl https://stashkit.net/api/v1/content \
  -H "Authorization: Bearer sk_your_api_key"
Upload a file (step 1 — get presigned URL)
curl -X POST https://stashkit.net/api/v1/upload/presign \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "fileName": "clip.mp4",
    "contentType": "video/mp4",
    "fileSize": 12345678,
    "type": "shortform"
  }'
Upload a file (step 2 — upload to storage)
curl -X PUT "<presignedUrl from step 1>" \
  -H "Content-Type: video/mp4" \
  --data-binary @clip.mp4
Upload a file (step 3 — finalize)
curl -X POST https://stashkit.net/api/v1/upload/complete \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "<key from step 1>",
    "fileName": "clip.mp4",
    "contentType": "video/mp4",
    "fileSize": 12345678,
    "type": "shortform"
  }'

Base URL

All API endpoints are served from https://stashkit.net/api/v1. Every request requires a valid API key.

Explore