Postqued API
by @syeddhasnainn
PostQued social media scheduling API integration. Use when performing API calls to PostQued for content upload, publishing to TikTok (and other platforms), m...
clawhub install postqued-apiπ About This Skill
name: postqued-api description: PostQued social media scheduling API integration. Use when performing API calls to PostQued for content upload, publishing to TikTok (and other platforms), managing platform accounts, or querying publish status. Triggers on tasks involving social media posting, content scheduling, TikTok draft posting, or any PostQued API operations.
PostQued API Skill
Setup
Add your PostQued API key to your workspace .env file:
POSTQUED_API_KEY=pq_your_api_key_here
API keys are created in the PostQued dashboard at https://postqued.com/console. Keys start with pq_ prefix.
Authentication
All API requests require authentication via Bearer token:
Authorization: Bearer $POSTQUED_API_KEY
Base URL
https://api.postqued.com
API Documentation
OpenAPI spec: https://api.postqued.com/v1/docs/openapi.json
Core Workflow: Upload and Publish Content
Step 1: Upload Content
For videos (presigned URL upload):
# Start upload session
curl -X POST https://api.postqued.com/v1/content/upload \
-H "Authorization: Bearer $POSTQUED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "video.mp4",
"contentType": "video/mp4",
"fileSize": 52428800
}'
Response: { "contentId": "uuid", "upload": { "url": "presigned-url", "method": "PUT", "headers": {...} } }
Upload file to presigned URL
curl -X PUT "PRESIGNED_URL" \
-H "Content-Type: video/mp4" \
--data-binary @video.mp4Confirm upload
curl -X POST https://api.postqued.com/v1/content/upload/complete \
-H "Authorization: Bearer $POSTQUED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contentId": "uuid-from-step-1",
"key": "content/user-id/content-id.mp4",
"filename": "video.mp4",
"contentType": "video/mp4",
"size": 52428800,
"width": 1920,
"height": 1080,
"durationMs": 30000
}'
For images (direct upload):
curl -X POST https://api.postqued.com/v1/content/upload-image \
-H "Authorization: Bearer $POSTQUED_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "file=@image.jpg"
Step 2: Get Platform Account ID
curl https://api.postqued.com/v1/platform-accounts?platform=tiktok \
-H "Authorization: Bearer $POSTQUED_API_KEY"
Response: { "accounts": [{ "id": "account-uuid", "username": "@user", ... }] }
Step 3: Publish Content
Important: Always include a unique Idempotency-Key header (valid 24h).
curl -X POST https://api.postqued.com/v1/content/publish \
-H "Authorization: Bearer $POSTQUED_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: unique-uuid-per-request" \
-d '{
"contentIds": ["content-uuid"],
"targets": [{
"platform": "tiktok",
"accountId": "account-uuid",
"intent": "draft",
"caption": "Check this out! #fyp",
"dispatchAt": null,
"options": {
"privacyLevel": "SELF_ONLY",
"disableDuet": false,
"disableStitch": false,
"disableComment": false
}
}]
}'
Response: { "publishId": "uuid", "status": "pending", "targets": [...] }
Step 4: Check Publish Status
curl https://api.postqued.com/v1/content/publish/PUBLISH_ID \
-H "Authorization: Bearer $POSTQUED_API_KEY"
API Reference
See references/api.md for complete endpoint documentation.
TikTok-Specific Options
| Option | Type | Description |
| --------------------- | ------- | --------------------------------------------------------------------------------- |
| privacyLevel | string | PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY |
| disableDuet | boolean | Disable duet |
| disableStitch | boolean | Disable stitch |
| disableComment | boolean | Disable comments |
| videoCoverTimestampMs | integer | Cover frame timestamp (videos) |
| autoAddMusic | boolean | Auto-add music (photos) |
| brandContentToggle | boolean | Paid partnership disclosure |
| brandOrganicToggle | boolean | Promotional content disclosure |
Intent Values
draft - Send to TikTok inbox as draft (user publishes manually)publish - Direct publish to user's TikTok profileStatus Values
Publish Request: pending | processing | completed | partial_failed | failed | canceled
Target: queued | scheduled | processing | sent | published | failed | canceled
Scheduling
Set dispatchAt to a future UTC ISO timestamp:
{
"dispatchAt": "2026-02-20T15:00:00Z"
}
Set to null for immediate dispatch.
Rate Limits
| Operation | Limit | | --------- | ------ | | Upload | 20/min | | Read | 30/min | | Publish | 10/min | | Delete | 20/min |
Error Handling
Errors return:
{
"error": "Message",
"code": "ERROR_CODE"
}
Common codes: MISSING_IDEMPOTENCY_KEY, IDEMPOTENCY_CONFLICT, SUBSCRIPTION_REQUIRED
βοΈ Configuration
Add your PostQued API key to your workspace .env file:
POSTQUED_API_KEY=pq_your_api_key_here
API keys are created in the PostQued dashboard at https://postqued.com/console. Keys start with pq_ prefix.