API operational
All platform guides
Platform guide

Threads

Requires an active Threads profile and permission for PostGate to publish on its behalf.

approval required500 UTF-8 bytes20 media items

Capabilities at a glance

AnalyticsSupportedCommentsSupportedMessagesNot availableRemote deletionSupportedToken refreshSupported
01

Connect Threads

Create the hosted connection URL on your server. The customer completes OAuth or the provider-specific credential form directly on PostGate.

Connection requestPostGate API
curl -X POST https://postgate.studio/api/profiles/connect \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "platform": "threads",
  "profile_group_id": "grp_acme123",
  "return_url": "https://app.example.com/settings/social"
}'
02

Publish to Threads

Use the connected profile ID as the target. Provider-specific fields live under post.options.threads so the unified envelope remains stable.

Post envelopePostGate API
{
  "post": {
    "body": "Launch day."
  },
  "profiles": [
    "pro_threads123"
  ],
  "media": [
    "med_01JXYZ"
  ]
}
03

Media and content limits

PostGate validates the request at creation and again at delivery. Account-level provider limits can be narrower than the general contract.

Text500 UTF-8 bytes
LinksAllowed
Mediaimages and video · Up to 20
Image size8 MB
Video size1 GB
Video durationUp to 5 min
Image width320–1440 px
04

Operational notes

These constraints affect approval, connection health, or delivery behavior for this provider.

  • Meta review required.

  • Images are converted to JPEG for delivery; PNG is rejected by the live API despite being documented as supported.

  • Options (post.options.threads, root post): topic_tag (1-50 chars, no '.' or '&'), reply_control, quote_post_id, is_ai_generated, spoiler_media; text-only posts also take link_attachment (URL preview) and poll (2-4 options of up to 25 chars).

Check live capability before showing the option
Call GET /api/platforms. A provider appears only when it is enabled and configured for the current workspace.
Next guideBuild the complete post envelopeCompareAll platform capabilities