DocsReference
Quickstart
Publish your first post via the API in five minutes.
1. Create an API key
Sign in to the dashboard and click Create key. Copy the lp_live_… value — it is shown only once.
export LETSPOST_KEY="lp_live_xxx"2. Pick a profile
Every post belongs to a profile. List yours:
curl https://api.letspost.app/v1/profiles \
-H "Authorization: Bearer $LETSPOST_KEY"3. Upload your video
Ask the API for a 15-minute signed URL and PUT the file directly to Firebase Storage. Full details in the media uploads guide.
# 1. Ask for a signed upload URL
RES=$(curl -s https://api.letspost.app/v1/media/presign-upload \
-H "Authorization: Bearer $LETSPOST_KEY" \
-H "Content-Type: application/json" \
-d '{"fileName":"clip.mp4","contentType":"video/mp4"}')
UPLOAD_URL=$(echo "$RES" | jq -r .uploadUrl)
STORAGE_PATH=$(echo "$RES" | jq -r .storagePath)
# 2. PUT the file
curl -X PUT "$UPLOAD_URL" -H "Content-Type: video/mp4" --data-binary @clip.mp44. Create the post
curl https://api.letspost.app/v1/posts \
-H "Authorization: Bearer $LETSPOST_KEY" \
-H "Content-Type: application/json" \
-d '{
"profileId": "prof_abc",
"title": "Launch day",
"description": "Our biggest drop yet.",
"mediaUrl": "'"$STORAGE_PATH"'",
"platforms": ["tiktok","instagram","youtube"]
}'5. Track status
Poll GET /posts/{id} or subscribe to webhooks. The top-level status moves through:
draft → queued → publishing → published | partial | failedcurl https://api.letspost.app/v1/posts/$POST_ID \
-H "Authorization: Bearer $LETSPOST_KEY"Next steps
- Posts reference — scheduling, updates, deletion.
- Webhooks — push notifications instead of polling.
- Errors — status codes and partial-publish semantics.
Was this page helpful?
Something unclear? Email us — we read every message.