PostMantis
API Reference

Provider Options

Provider-specific fields and current implementation limits for each supported PostMantis provider.

Use providerOptions when a post needs provider-specific behavior. It does not select destinations — that is what profiles is for.

{
  "post": { "body": "New video" },
  "profiles": ["9aa032e9-bf7d-4355-b4c1-96f191c2f7ee", "4339a6bc-9cd3-455e-8f91-df8bc63f12d7"],
  "media": [{ "artifactId": "8f5f3f18-3cf7-4aa8-a0ea-6fd204d4c4f1" }],
  "providerOptions": {
    "youtube": { "title": "New video", "privacyStatus": "public" },
    "tiktok": { "format": "video", "privacyStatus": "PUBLIC_TO_EVERYONE" }
  }
}

Mental model

profiles answers where should this post go?providerOptions answers how should a provider handle it?

This page reflects the current PostMantis implementation

The fields and limits below describe what the current publish code actually supports. They do not try to mirror every capability each provider platform offers.

Provider identifiers

The provider field on a profile object and the key inside the providerOptions request object use these provider identifiers:

ProviderIdentifier
Facebookfacebook
Instagraminstagram
TikToktiktok
LinkedInlinkedin
YouTubeyoutube
Xx
Threadsthreads
Pinterestpinterest

Facebook

Supported fields

FieldTypeNotes
formatstringpost (default) or story
firstCommentstringOptional. Feed posts only
linkstringOptional. Feed posts only

Media limits in the current implementation

  • feed posts support text, link, up to 10 images, or one video
  • feed posts do not allow mixed images and video in one post
  • stories require exactly one uploaded image or video
{ "providerOptions": { "facebook": { "format": "post" } } }

Instagram

Supported fields

FieldTypeNotes
formatstringpost (default), reel, or story
collaboratorsstring[]Optional. Up to 3. Not supported for stories
coverobjectOptional reel cover asset
audioNamestringOptional. Reels only
thumbOffsetstringOptional. Reels only
trialStrategystringOptional. MANUAL or SS_PERFORMANCE. Reels only

Media limits in the current implementation

  • posts require uploaded media and support up to 10 items
  • posts currently accept JPEG images and MP4 or MOV videos
  • reels require exactly one uploaded video
  • stories require exactly one uploaded image or video

TikTok

Supported fields

FieldTypeNotes
formatstringvideo (default)
privacyStatusstringMust be available for the connected account
disableCommentbooleanOptional
disableDuetbooleanVideo posts only
disableStitchbooleanVideo posts only
madeWithAibooleanVideo posts only
brandContentTogglebooleanSupported
brandOrganicTogglebooleanSupported
videoCoverTimestampMsintegerVideo posts only

Media limits in the current implementation

FormatCurrent implementation
Videoexactly 1 uploaded video (mp4, mov, or webm), up to 64 MB

Notes

  • video captions support up to 2,200 characters
  • some requested options can still be rejected if the account does not allow them

LinkedIn

Supported fields

No LinkedIn-specific providerOptions fields are currently supported. The selected profile is the publish author.

Media limits in the current implementation

  • text-only posts supported
  • uploaded image posts supported
  • up to 20 images
  • videos are not implemented yet

YouTube

Supported fields

FieldTypeNotes
titlestringOptional. Defaults to the first line of post.body or a generated title
privacyStatusstringpublic, private, or unlisted
coverobjectOptional thumbnail artifact. Accepts { artifactId }
madeForKidsbooleanOptional
tagsstring[]Optional, up to 50 tags

Media limits in the current implementation

  • exactly 1 uploaded video
  • optional thumbnail image in JPEG or PNG, up to 2 MB

X

Supported fields

No X-specific providerOptions fields are currently supported. The Public Preview publish path does not yet implement reply-control or thread extensions.

Media limits in the current implementation

  • text-only posts supported
  • uploaded media supported
  • up to 4 images, or one GIF/video

Threads

Supported fields

FieldTypeNotes
replyControlstringeveryone, accountsYouFollow, or mentionedOnly

Current implementation

  • text posts supported
  • uploaded media posts supported
  • up to 20 media items

Pinterest

Supported fields

FieldTypeNotes
titlestringOptional, max 100 characters
boardIdstringRequired. Must match a board belonging to the connected account.
destinationLinkstringOptional
coverobjectOptional video cover artifact. Accepts { artifactId }
thumbOffsetnumberOptional. Cover frame offset for video pins, in seconds

Media limits in the current implementation

  • exactly 1 uploaded image or video per pin
  • no mixed media

Notes

boardId must be a valid board ID belonging to the connected Pinterest account. There is no automatic fallback — the board must be selected explicitly during post creation.

Pinterest OAuth scopes

PostMantis requests the following Pinterest scopes during OAuth:

ScopeWhy it is requested
user_accounts:readIdentify the connected Pinterest account
boards:readList boards for the board picker
boards:writePinterest API currently requires this scope to create Pins into boards
pins:readRead created Pin metadata and delivery status
pins:writeCreate Pins on behalf of the user

PostMantis does not create boards. boards:write is requested only because Pinterest requires it for Pin creation endpoints.