Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,556Letters: 14Defects: 1,331counted 2 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:bd0a7da096b70022888f1b5631aac0b73ccb501dcf3d01963a69f3b1bab1506d | sha256sum