Server definition
- Hash
- sha256:bd0a7da096b70022888f1b5631aac0b73ccb501dcf3d01963a69f3b1bab1506d
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Schedule multiple posts at once. Each post gets its own text, content type, schedule time, and optional media. All posts share the same target platforms and connection IDs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"blueskyConnectionIds": {
"description": "Bluesky account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"facebookConfigs": {
"description": "Facebook per-page config with post type and video title",
"items": {
"additionalProperties": false,
"properties": {
"pageId": {
"description": "Facebook page ID from list_accounts",
"type": "string"
},
"postType": {
"description": "Facebook post type — FEED, REEL, or STORY",
"enum": [
"FEED",
"REEL",
"STORY"
],
"type": "string"
},
"videoTitle": {
"description": "Video title for Facebook (max 255 chars)",
"maxLength": 255,
"type": "string"
}
},
"required": [
"pageId"
],
"type": "object"
},
"type": "array"
},
"instagramConfigs": {
"description": "Instagram per-connection config to set post type (FEED, REEL, STORY)",
"items": {
"additionalProperties": false,
"properties": {
"connectionId": {
"description": "Instagram connection ID from list_accounts",
"type": "string"
},
"postType": {
"description": "Instagram post type — FEED, REEL, or STORY",
"enum": [
"FEED",
"REEL",
"STORY"
],
"type": "string"
}
},
"required": [
"connectionId"
],
"type": "object"
},
"type": "array"
},
"instagramConnectionIds": {
"description": "Instagram account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"linkedinConnectionIds": {
"description": "LinkedIn account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"pageIds": {
"description": "Facebook page IDs",
"items": {
"type": "string"
},
"type": "array"
},
"pinterestConfigs": {
"description": "Pinterest per-connection config. boardId is required for Pinterest posts",
"items": {
"additionalProperties": false,
"properties": {
"boardId": {
"description": "Pinterest board ID to pin to (required)",
"type": "string"
},
"connectionId": {
"description": "Pinterest connection ID from list_accounts",
"type": "string"
},
"link": {
"description": "Destination URL for the pin",
"type": "string"
},
"title": {
"description": "Pin title (max 100 chars)",
"maxLength": 100,
"type": "string"
}
},
"required": [
"connectionId",
"boardId"
],
"type": "object"
},
"type": "array"
},
"pinterestConnectionIds": {
"description": "Pinterest account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"platforms": {
"description": "Target platforms",
"items": {
"enum": [
"LINKEDIN",
"YOUTUBE",
"INSTAGRAM",
"FACEBOOK",
"TIKTOK",
"PINTEREST",
"THREADS",
"BLUESKY",
"TWITTER"
],
"type": "string"
},
"type": "array"
},
"posts": {
"description": "Array of posts to schedule",
"items": {
"additionalProperties": false,
"properties": {
"contentType": {
"enum": [
"TEXT",
"IMAGE",
"VIDEO",
"CAROUSEL"
],
"type": "string"
},
"mediaUrls": {
"description": "Image or video URLs to attach",
"items": {
"type": "string"
},
"type": "array"
},
"platformTexts": {
"items": {
"additionalProperties": false,
"properties": {
"platform": {
"$ref": "#/properties/platforms/items"
},
"text": {
"type": "string"
}
},
"required": [
"platform",
"text"
],
"type": "object"
},
"type": "array"
},
"scheduledAt": {
"description": "ISO 8601 schedule time",
"type": "string"
},
"text": {
"description": "Post text/caption",
"type": "string"
},
"thumbnailTimestampMs": {
"description": "Thumbnail timestamp in ms",
"type": "number"
},
"thumbnailUrl": {
"description": "Custom thumbnail image URL",
"type": "string"
}
},
"required": [
"contentType",
"scheduledAt"
],
"type": "object"
},
"type": "array"
},
"threadsConnectionIds": {
"description": "Threads account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"tiktokConfigs": {
"description": "TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum",
"items": {
"additionalProperties": false,
"properties": {
"aiGenerated": {
"description": "Label content as AI-generated",
"type": "boolean"
},
"allowComments": {
"description": "Allow comments on the TikTok post",
"type": "boolean"
},
"allowDuet": {
"description": "Allow other users to Duet this video",
"type": "boolean"
},
"allowStitch": {
"description": "Allow other users to Stitch this video",
"type": "boolean"
},
"autoAddMusic": {
"description": "Let TikTok auto-add music to the video",
"type": "boolean"
},
"brandedContent": {
"description": "Disclose as branded content (paid partnership)",
"type": "boolean"
},
"brandedContentOwnBrand": {
"description": "Disclose as promoting your own brand",
"type": "boolean"
},
"caption": {
"description": "TikTok-specific caption (max 2200 chars)",
"maxLength": 2200,
"type": "string"
},
"connectionId": {
"description": "TikTok connection ID from list_accounts",
"type": "string"
},
"privacyLevel": {
"description": "TikTok privacy level",
"enum": [
"PUBLIC_TO_EVERYONE",
"MUTUAL_FOLLOW_FRIENDS",
"FOLLOWER_OF_CREATOR",
"SELF_ONLY"
],
"type": "string"
},
"sendAsDraft": {
"description": "Save as TikTok draft so the user can add trending sounds before publishing",
"type": "boolean"
},
"title": {
"description": "Video title (max 90 chars)",
"maxLength": 90,
"type": "string"
}
},
"required": [
"connectionId",
"privacyLevel"
],
"type": "object"
},
"type": "array"
},
"tiktokConnectionIds": {
"description": "TikTok account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone",
"type": "string"
},
"twitterConnectionIds": {
"description": "X (Twitter) account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"youtubeConfigs": {
"description": "YouTube per-connection config with video title, tags, privacy, etc.",
"items": {
"additionalProperties": false,
"properties": {
"allowEmbedding": {
"description": "Allow embedding the video on other sites",
"type": "boolean"
},
"categoryId": {
"description": "YouTube category ID",
"type": "string"
},
"connectionId": {
"description": "YouTube connection ID from list_accounts",
"type": "string"
},
"license": {
"description": "Video license type",
"enum": [
"youtube",
"creativeCommon"
],
"type": "string"
},
"madeForKids": {
"description": "Mark the video as made for kids (COPPA)",
"type": "boolean"
},
"notifySubscribers": {
"description": "Notify channel subscribers about the upload",
"type": "boolean"
},
"playlistId": {
"description": "Add video to this playlist",
"type": "string"
},
"postType": {
"description": "VIDEO for long-form, SHORTS for YouTube Shorts",
"enum": [
"VIDEO",
"SHORTS"
],
"type": "string"
},
"privacyStatus": {
"description": "Video privacy status",
"enum": [
"public",
"private",
"unlisted"
],
"type": "string"
},
"tags": {
"description": "Video tags (max 20)",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"videoTitle": {
"description": "YouTube video title (max 100 chars)",
"maxLength": 100,
"type": "string"
}
},
"required": [
"connectionId"
],
"type": "object"
},
"type": "array"
},
"youtubeConnectionIds": {
"description": "YouTube channel connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"platforms",
"posts"
],
"type": "object"
},
"name": "bulk_schedule_posts",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The created scheduled post records with their ids, statuses, and schedule times as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Create and schedule a post to one or more platforms. Pass connection IDs from list_accounts to target specific accounts. Omit scheduledAt to post immediately, or set saveAsDraft to save without publishing. For platform-specific options (YouTube titles, TikTok privacy, Pinterest boards, Instagram post type), use the corresponding platform configs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"blueskyConnectionIds": {
"description": "Bluesky account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"contentType": {
"description": "Content type: TEXT, IMAGE, VIDEO, or CAROUSEL",
"enum": [
"TEXT",
"IMAGE",
"VIDEO",
"CAROUSEL"
],
"type": "string"
},
"facebookConfigs": {
"description": "Facebook per-page config with post type and video title",
"items": {
"additionalProperties": false,
"properties": {
"pageId": {
"description": "Facebook page ID from list_accounts",
"type": "string"
},
"postType": {
"description": "Facebook post type — FEED, REEL, or STORY",
"enum": [
"FEED",
"REEL",
"STORY"
],
"type": "string"
},
"videoTitle": {
"description": "Video title for Facebook (max 255 chars)",
"maxLength": 255,
"type": "string"
}
},
"required": [
"pageId"
],
"type": "object"
},
"type": "array"
},
"instagramConfigs": {
"description": "Instagram per-connection config to set post type (FEED, REEL, STORY)",
"items": {
"additionalProperties": false,
"properties": {
"connectionId": {
"description": "Instagram connection ID from list_accounts",
"type": "string"
},
"postType": {
"description": "Instagram post type — FEED, REEL, or STORY",
"enum": [
"FEED",
"REEL",
"STORY"
],
"type": "string"
}
},
"required": [
"connectionId"
],
"type": "object"
},
"type": "array"
},
"instagramConnectionIds": {
"description": "Instagram account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"linkedinConnectionIds": {
"description": "LinkedIn account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"mediaUrls": {
"description": "Media URLs to attach. Use publicUrl values from upload_media or get_upload_urls",
"items": {
"type": "string"
},
"type": "array"
},
"pageIds": {
"description": "Facebook page IDs",
"items": {
"type": "string"
},
"type": "array"
},
"pinterestConfigs": {
"description": "Pinterest per-connection config. boardId is required for Pinterest posts",
"items": {
"additionalProperties": false,
"properties": {
"boardId": {
"description": "Pinterest board ID to pin to (required)",
"type": "string"
},
"connectionId": {
"description": "Pinterest connection ID from list_accounts",
"type": "string"
},
"link": {
"description": "Destination URL for the pin",
"type": "string"
},
"title": {
"description": "Pin title (max 100 chars)",
"maxLength": 100,
"type": "string"
}
},
"required": [
"connectionId",
"boardId"
],
"type": "object"
},
"type": "array"
},
"pinterestConnectionIds": {
"description": "Pinterest account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"platformTexts": {
"description": "Per-platform caption overrides",
"items": {
"additionalProperties": false,
"properties": {
"platform": {
"$ref": "#/properties/platforms/items"
},
"text": {
"type": "string"
}
},
"required": [
"platform",
"text"
],
"type": "object"
},
"type": "array"
},
"platforms": {
"description": "Target platforms (e.g. [\"LINKEDIN\", \"TWITTER\"])",
"items": {
"enum": [
"LINKEDIN",
"YOUTUBE",
"INSTAGRAM",
"FACEBOOK",
"TIKTOK",
"PINTEREST",
"THREADS",
"BLUESKY",
"TWITTER"
],
"type": "string"
},
"type": "array"
},
"saveAsDraft": {
"description": "Save as draft instead of publishing",
"type": "boolean"
},
"scheduledAt": {
"description": "ISO 8601 datetime to schedule (e.g. \"2026-03-15T10:00:00Z\"). Omit to post immediately",
"type": "string"
},
"text": {
"description": "Default post text shared across platforms",
"type": "string"
},
"threadsConnectionIds": {
"description": "Threads account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"thumbnailTimestampMs": {
"description": "Generate thumbnail from video at this timestamp (milliseconds)",
"type": "number"
},
"thumbnailUrl": {
"description": "Custom thumbnail image URL for video posts",
"type": "string"
},
"tiktokConfigs": {
"description": "TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum",
"items": {
"additionalProperties": false,
"properties": {
"aiGenerated": {
"description": "Label content as AI-generated",
"type": "boolean"
},
"allowComments": {
"description": "Allow comments on the TikTok post",
"type": "boolean"
},
"allowDuet": {
"description": "Allow other users to Duet this video",
"type": "boolean"
},
"allowStitch": {
"description": "Allow other users to Stitch this video",
"type": "boolean"
},
"autoAddMusic": {
"description": "Let TikTok auto-add music to the video",
"type": "boolean"
},
"brandedContent": {
"description": "Disclose as branded content (paid partnership)",
"type": "boolean"
},
"brandedContentOwnBrand": {
"description": "Disclose as promoting your own brand",
"type": "boolean"
},
"caption": {
"description": "TikTok-specific caption (max 2200 chars)",
"maxLength": 2200,
"type": "string"
},
"connectionId": {
"description": "TikTok connection ID from list_accounts",
"type": "string"
},
"privacyLevel": {
"description": "TikTok privacy level",
"enum": [
"PUBLIC_TO_EVERYONE",
"MUTUAL_FOLLOW_FRIENDS",
"FOLLOWER_OF_CREATOR",
"SELF_ONLY"
],
"type": "string"
},
"sendAsDraft": {
"description": "Save as TikTok draft so the user can add trending sounds before publishing",
"type": "boolean"
},
"title": {
"description": "Video title (max 90 chars)",
"maxLength": 90,
"type": "string"
}
},
"required": [
"connectionId",
"privacyLevel"
],
"type": "object"
},
"type": "array"
},
"tiktokConnectionIds": {
"description": "TikTok account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone (e.g. \"America/New_York\")",
"type": "string"
},
"twitterConnectionIds": {
"description": "X (Twitter) account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"youtubeConfigs": {
"description": "YouTube per-connection config with video title, tags, privacy, etc.",
"items": {
"additionalProperties": false,
"properties": {
"allowEmbedding": {
"description": "Allow embedding the video on other sites",
"type": "boolean"
},
"categoryId": {
"description": "YouTube category ID",
"type": "string"
},
"connectionId": {
"description": "YouTube connection ID from list_accounts",
"type": "string"
},
"license": {
"description": "Video license type",
"enum": [
"youtube",
"creativeCommon"
],
"type": "string"
},
"madeForKids": {
"description": "Mark the video as made for kids (COPPA)",
"type": "boolean"
},
"notifySubscribers": {
"description": "Notify channel subscribers about the upload",
"type": "boolean"
},
"playlistId": {
"description": "Add video to this playlist",
"type": "string"
},
"postType": {
"description": "VIDEO for long-form, SHORTS for YouTube Shorts",
"enum": [
"VIDEO",
"SHORTS"
],
"type": "string"
},
"privacyStatus": {
"description": "Video privacy status",
"enum": [
"public",
"private",
"unlisted"
],
"type": "string"
},
"tags": {
"description": "Video tags (max 20)",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"videoTitle": {
"description": "YouTube video title (max 100 chars)",
"maxLength": 100,
"type": "string"
}
},
"required": [
"connectionId"
],
"type": "object"
},
"type": "array"
},
"youtubeConnectionIds": {
"description": "YouTube channel connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"platforms",
"contentType"
],
"type": "object"
},
"name": "create_post",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The created post record including its id, status, and scheduled time as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Delete a scheduled or draft post. Can't delete published posts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "Post ID to delete",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "delete_post",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The deletion confirmation for the post as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Get full details of a single post by ID, including per-platform publishing status and error messages.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "Post ID",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_post",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The full post record including its id, status, per-platform publishing status, and error messages as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Get presigned upload URLs for direct file uploads. Returns uploadUrl (PUT your file here) and publicUrl (use in create_post mediaUrls). This only mints a URL — you MUST PUT the file to uploadUrl and confirm a 2xx response before using publicUrl, otherwise create_post/bulk rejects it with \"Media file(s) not found in storage\". Prefer the upload_media tool, which performs the upload for you. For each file, provide fileName and mimeType. Supported types: image/jpeg, image/png, image/webp, video/mp4, video/quicktime.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"files": {
"description": "Files to get upload URLs for",
"items": {
"additionalProperties": false,
"properties": {
"fileName": {
"description": "File name with extension",
"type": "string"
},
"mimeType": {
"description": "MIME type of the file",
"enum": [
"image/jpeg",
"image/png",
"image/webp",
"video/mp4",
"video/quicktime"
],
"type": "string"
}
},
"required": [
"fileName",
"mimeType"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"files"
],
"type": "object"
},
"name": "get_upload_urls",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "An object with urls: one { uploadUrl, publicUrl, key } entry per requested file."
}
},
"type": "object"
}
},
{
"description": "List all connected social media accounts across all platforms (LinkedIn, YouTube, Instagram, Facebook, TikTok, Pinterest, Threads, Bluesky, Twitter). Returns connection IDs needed for creating posts. Facebook page accounts also include a pageId (the Facebook Page ID) since pages have no username.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_accounts",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The connected social accounts with their platform, connection ID, username, and pageId for Facebook pages as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Check per-platform posting results — success/failure status with error details for each platform a post was sent to.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "Post ID to check results for",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "list_post_results",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The per-platform posting results with success/failure status and error details as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "List posts with optional filters by status, platform, or date range. Supports pagination.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"endDate": {
"description": "End date (ISO 8601)",
"type": "string"
},
"limit": {
"default": 20,
"description": "Max results",
"type": "number"
},
"offset": {
"default": 0,
"description": "Pagination offset",
"type": "number"
},
"platforms": {
"description": "Filter by platform",
"items": {
"enum": [
"LINKEDIN",
"YOUTUBE",
"INSTAGRAM",
"FACEBOOK",
"TIKTOK",
"PINTEREST",
"THREADS",
"BLUESKY",
"TWITTER"
],
"type": "string"
},
"type": "array"
},
"sortOrder": {
"description": "NEWEST or OLDEST",
"enum": [
"NEWEST",
"OLDEST"
],
"type": "string"
},
"startDate": {
"description": "Start date (ISO 8601)",
"type": "string"
},
"statuses": {
"description": "Filter by status (e.g. [\"SCHEDULED\", \"DRAFT\"])",
"items": {
"enum": [
"COMPLETED",
"DRAFT",
"FAILED",
"PARTIAL_FAILURE",
"PENDING",
"PUBLISHING",
"SCHEDULED"
],
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "list_posts",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The matching posts with their ids, statuses, platforms, and schedule times as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Publish a draft post immediately or schedule it for later.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "Draft post ID",
"type": "string"
},
"scheduledAt": {
"description": "Schedule time (ISO 8601). Omit to publish now",
"type": "string"
},
"timezone": {
"default": "UTC",
"description": "IANA timezone",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "publish_draft",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The published or scheduled post record with its updated status as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Retry publishing on platforms that failed. Get platform IDs from list_post_results.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"description": "Post ID",
"type": "string"
},
"platformIds": {
"description": "Failed platform IDs to retry",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"platformIds"
],
"type": "object"
},
"name": "retry_failed_platforms",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The retry outcome for the requested platform IDs as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Update a scheduled or draft post's caption, schedule, accounts, media, or platform configs. Cannot update published posts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"blueskyConnectionIds": {
"description": "Bluesky account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"contentType": {
"enum": [
"TEXT",
"IMAGE",
"VIDEO",
"CAROUSEL"
],
"type": "string"
},
"facebookConfigs": {
"description": "Facebook per-page config with post type and video title",
"items": {
"additionalProperties": false,
"properties": {
"pageId": {
"description": "Facebook page ID from list_accounts",
"type": "string"
},
"postType": {
"description": "Facebook post type — FEED, REEL, or STORY",
"enum": [
"FEED",
"REEL",
"STORY"
],
"type": "string"
},
"videoTitle": {
"description": "Video title for Facebook (max 255 chars)",
"maxLength": 255,
"type": "string"
}
},
"required": [
"pageId"
],
"type": "object"
},
"type": "array"
},
"id": {
"description": "Post ID to update",
"type": "string"
},
"instagramConfigs": {
"description": "Instagram per-connection config to set post type (FEED, REEL, STORY)",
"items": {
"additionalProperties": false,
"properties": {
"connectionId": {
"description": "Instagram connection ID from list_accounts",
"type": "string"
},
"postType": {
"description": "Instagram post type — FEED, REEL, or STORY",
"enum": [
"FEED",
"REEL",
"STORY"
],
"type": "string"
}
},
"required": [
"connectionId"
],
"type": "object"
},
"type": "array"
},
"instagramConnectionIds": {
"description": "Instagram account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"linkedinConnectionIds": {
"description": "LinkedIn account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"mediaUrls": {
"description": "Updated media URLs. Use publicUrl values from upload_media or get_upload_urls",
"items": {
"type": "string"
},
"type": "array"
},
"pageIds": {
"description": "Facebook page IDs",
"items": {
"type": "string"
},
"type": "array"
},
"pinterestConfigs": {
"description": "Pinterest per-connection config. boardId is required for Pinterest posts",
"items": {
"additionalProperties": false,
"properties": {
"boardId": {
"description": "Pinterest board ID to pin to (required)",
"type": "string"
},
"connectionId": {
"description": "Pinterest connection ID from list_accounts",
"type": "string"
},
"link": {
"description": "Destination URL for the pin",
"type": "string"
},
"title": {
"description": "Pin title (max 100 chars)",
"maxLength": 100,
"type": "string"
}
},
"required": [
"connectionId",
"boardId"
],
"type": "object"
},
"type": "array"
},
"pinterestConnectionIds": {
"description": "Pinterest account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"platformTexts": {
"items": {
"additionalProperties": false,
"properties": {
"platform": {
"$ref": "#/properties/platforms/items"
},
"text": {
"type": "string"
}
},
"required": [
"platform",
"text"
],
"type": "object"
},
"type": "array"
},
"platforms": {
"description": "Updated target platforms",
"items": {
"enum": [
"LINKEDIN",
"YOUTUBE",
"INSTAGRAM",
"FACEBOOK",
"TIKTOK",
"PINTEREST",
"THREADS",
"BLUESKY",
"TWITTER"
],
"type": "string"
},
"type": "array"
},
"scheduledAt": {
"description": "Updated schedule time (ISO 8601)",
"type": "string"
},
"text": {
"description": "Updated text",
"type": "string"
},
"threadsConnectionIds": {
"description": "Threads account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"thumbnailTimestampMs": {
"description": "Generate thumbnail from video at this timestamp (milliseconds)",
"type": "number"
},
"thumbnailUrl": {
"description": "Custom thumbnail image URL for video posts",
"type": "string"
},
"tiktokConfigs": {
"description": "TikTok per-connection config. Each entry needs connectionId + privacyLevel at minimum",
"items": {
"additionalProperties": false,
"properties": {
"aiGenerated": {
"description": "Label content as AI-generated",
"type": "boolean"
},
"allowComments": {
"description": "Allow comments on the TikTok post",
"type": "boolean"
},
"allowDuet": {
"description": "Allow other users to Duet this video",
"type": "boolean"
},
"allowStitch": {
"description": "Allow other users to Stitch this video",
"type": "boolean"
},
"autoAddMusic": {
"description": "Let TikTok auto-add music to the video",
"type": "boolean"
},
"brandedContent": {
"description": "Disclose as branded content (paid partnership)",
"type": "boolean"
},
"brandedContentOwnBrand": {
"description": "Disclose as promoting your own brand",
"type": "boolean"
},
"caption": {
"description": "TikTok-specific caption (max 2200 chars)",
"maxLength": 2200,
"type": "string"
},
"connectionId": {
"description": "TikTok connection ID from list_accounts",
"type": "string"
},
"privacyLevel": {
"description": "TikTok privacy level",
"enum": [
"PUBLIC_TO_EVERYONE",
"MUTUAL_FOLLOW_FRIENDS",
"FOLLOWER_OF_CREATOR",
"SELF_ONLY"
],
"type": "string"
},
"sendAsDraft": {
"description": "Save as TikTok draft so the user can add trending sounds before publishing",
"type": "boolean"
},
"title": {
"description": "Video title (max 90 chars)",
"maxLength": 90,
"type": "string"
}
},
"required": [
"connectionId",
"privacyLevel"
],
"type": "object"
},
"type": "array"
},
"tiktokConnectionIds": {
"description": "TikTok account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"timezone": {
"description": "IANA timezone for the schedule time",
"type": "string"
},
"twitterConnectionIds": {
"description": "X (Twitter) account connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
},
"youtubeConfigs": {
"description": "YouTube per-connection config with video title, tags, privacy, etc.",
"items": {
"additionalProperties": false,
"properties": {
"allowEmbedding": {
"description": "Allow embedding the video on other sites",
"type": "boolean"
},
"categoryId": {
"description": "YouTube category ID",
"type": "string"
},
"connectionId": {
"description": "YouTube connection ID from list_accounts",
"type": "string"
},
"license": {
"description": "Video license type",
"enum": [
"youtube",
"creativeCommon"
],
"type": "string"
},
"madeForKids": {
"description": "Mark the video as made for kids (COPPA)",
"type": "boolean"
},
"notifySubscribers": {
"description": "Notify channel subscribers about the upload",
"type": "boolean"
},
"playlistId": {
"description": "Add video to this playlist",
"type": "string"
},
"postType": {
"description": "VIDEO for long-form, SHORTS for YouTube Shorts",
"enum": [
"VIDEO",
"SHORTS"
],
"type": "string"
},
"privacyStatus": {
"description": "Video privacy status",
"enum": [
"public",
"private",
"unlisted"
],
"type": "string"
},
"tags": {
"description": "Video tags (max 20)",
"items": {
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"videoTitle": {
"description": "YouTube video title (max 100 chars)",
"maxLength": 100,
"type": "string"
}
},
"required": [
"connectionId"
],
"type": "object"
},
"type": "array"
},
"youtubeConnectionIds": {
"description": "YouTube channel connection IDs to post from",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "update_post",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "The updated post record including its id, status, and scheduled time as returned by the AdaptlyPost API."
}
},
"type": "object"
}
},
{
"description": "Upload media files for use in posts. Supports two modes:\n1. URLs: pass public image/video URLs — the server downloads and re-uploads them.\n2. Files: pass base64-encoded file data directly (e.g. when the user attaches an image in the conversation).\nReturns mediaUrls ready to pass into create_post. The user does NOT need to see the returned URLs — just pass them to create_post.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"files": {
"description": "Direct file uploads as base64. Use this when the user attaches/pastes an image or video in the conversation",
"items": {
"additionalProperties": false,
"properties": {
"data": {
"description": "Base64-encoded file content",
"type": "string"
},
"fileName": {
"description": "File name with extension (e.g. \"photo.jpg\")",
"type": "string"
},
"mimeType": {
"description": "MIME type of the file",
"enum": [
"image/jpeg",
"image/png",
"image/webp",
"video/mp4",
"video/quicktime"
],
"type": "string"
}
},
"required": [
"data",
"fileName",
"mimeType"
],
"type": "object"
},
"type": "array"
},
"urls": {
"description": "Public URLs of images or videos to upload (e.g. [\"https://example.com/photo.jpg\"])",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": "upload_media",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"result": {
"description": "An object with uploaded (array of { publicUrl, key } per file) and mediaUrls (the public URLs ready to pass to create_post)."
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:bd0a7da096b70022888f1b5631aac0b73ccb501dcf3d01963a69f3b1bab1506d | sha256sum