🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

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

Versionv1.0.6
Downloads1,307
Stars⭐ 2
TERMINAL
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.mp4

Confirm 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 profile
  • Status 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.