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.mp4Upload 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.