# CuteDyno > Social media scheduling and publishing API. One REST endpoint set, an MCP > server for agents, and multi-tenant profiles so platforms can onboard their > own customers. Every page below is also available as markdown at https://cutedyno.com/docs/raw/. The full text of all pages is at https://cutedyno.com/llms-full.txt. The OpenAPI spec is at https://cutedyno.com/docs/api/openapi.json. ## Get started - [Quickstart](https://cutedyno.com/docs): Publish your first post through the CuteDyno API in about five minutes. - [Authentication](https://cutedyno.com/docs/authentication): API keys, scopes, profile access, and how to keep keys safe. ## Docs - [Build a platform](https://cutedyno.com/docs/build-a-platform): Serve many customers from one integration using profiles, scoped keys, and account-level webhooks. - [SDKs](https://cutedyno.com/docs/sdks): Official clients, and what to do when there isn't one for your language. - [Publishing](https://cutedyno.com/docs/publishing): Drafts, schedules, per-platform options, and what to do when one account fails. - [Webhooks](https://cutedyno.com/docs/webhooks): Receive delivery results instead of polling, with signature verification and a documented retry schedule. ## Guides - [Connecting accounts](https://cutedyno.com/docs/guides/connecting-accounts): Run the OAuth flow that links a social account to a CuteDyno profile. - [Media uploads](https://cutedyno.com/docs/guides/media-uploads): Get images and video into CuteDyno, and what each platform accepts. - [Idempotency](https://cutedyno.com/docs/guides/idempotency): Make retries safe so a network timeout can never publish the same post twice. - [Rate limits](https://cutedyno.com/docs/guides/rate-limits): How much you can send, what the headers tell you, and how to back off correctly. - [Agent governance](https://cutedyno.com/docs/guides/agent-governance): Give an AI agent posting access without giving it the keys to your brand. - [Reporting](https://cutedyno.com/docs/guides/reporting): Read delivery results, state history, audit events, and request logs back into your own reporting. ## Platforms - [Overview](https://cutedyno.com/docs/platforms): What each network accepts, what it requires, and where they differ. - [TikTok](https://cutedyno.com/docs/platforms/tiktok): Video and photo posts, privacy levels, commercial disclosure, and the app audit that decides who can see them. - [Instagram](https://cutedyno.com/docs/platforms/instagram): Reels, carousels, and the account type requirement that blocks most first attempts. - [Facebook](https://cutedyno.com/docs/platforms/facebook): Page posts, multi-photo feeds, Reels, and the options only Facebook has. - [LinkedIn](https://cutedyno.com/docs/platforms/linkedin): Text, article shares, multi-image posts, video, and what visibility does. - [YouTube](https://cutedyno.com/docs/platforms/youtube): Video uploads, the required title, privacy status, and Shorts. ## MCP - [Overview](https://cutedyno.com/docs/mcp): Let Claude, Cursor, Codex, and other agents schedule and publish posts through CuteDyno. ## API reference - [Overview](https://cutedyno.com/docs/api): Conventions shared by every endpoint, and the full endpoint index. - [List profiles](https://cutedyno.com/docs/api/list-profiles): Returns every profile this API key can act on. - [Create a profile](https://cutedyno.com/docs/api/create-profile): Creates a profile for one of your customers. - [Get a profile](https://cutedyno.com/docs/api/get-profile): Fetches one profile by id. - [Update a profile](https://cutedyno.com/docs/api/update-profile): Renames a profile or changes its description. - [Delete a profile](https://cutedyno.com/docs/api/delete-profile): Deletes a profile and everything inside it. - [Get the current profile](https://cutedyno.com/docs/api/get-current-profile): Returns the profile this request resolved to, which is the key’s home profile unless you passed profileId. - [List API keys](https://cutedyno.com/docs/api/list-api-keys): Lists the keys in this account. - [Create an API key](https://cutedyno.com/docs/api/create-api-key): Mints a key, optionally scoped to specific profiles. - [Revoke an API key](https://cutedyno.com/docs/api/revoke-api-key): Deactivates a key immediately. - [List connected accounts](https://cutedyno.com/docs/api/list-accounts): Lists the social accounts connected to a profile. - [Start a connect flow](https://cutedyno.com/docs/api/start-connect): Creates a connect session and returns the URL to send your customer to. - [Create a connect session](https://cutedyno.com/docs/api/create-connect-session): Starts an OAuth flow for one profile and returns the URL to redirect your customer to. - [Get a connect session](https://cutedyno.com/docs/api/get-connect-session): Polls a connect session. - [List posts](https://cutedyno.com/docs/api/list-posts): Lists posts in a profile, newest first. - [Create a post](https://cutedyno.com/docs/api/create-post): Creates a draft, schedules a post, or publishes immediately, depending on scheduledAt, publishNow, and draft. - [Validate a post](https://cutedyno.com/docs/api/validate-post): Dry-runs the same validation as create, without writing anything. - [Get a post](https://cutedyno.com/docs/api/get-post): Fetches one post, including per-account publish results. - [Update a post](https://cutedyno.com/docs/api/update-post): Edits content, targets, or schedule. - [Cancel a post](https://cutedyno.com/docs/api/cancel-post): Cancels a scheduled or queued post. - [Publish a post](https://cutedyno.com/docs/api/publish-post): Moves a draft into the publishing queue. - [Retry a failed post](https://cutedyno.com/docs/api/retry-post): Requeues a failed or partially published post. - [Get post state history](https://cutedyno.com/docs/api/get-post-history): Returns every state transition for a post, which is the fastest way to explain a failure. - [List comments](https://cutedyno.com/docs/api/list-comments): Lists comments on the profile’s published content. - [Create a media upload URL](https://cutedyno.com/docs/api/create-media-upload): Returns a presigned PUT URL. - [List webhook subscriptions](https://cutedyno.com/docs/api/list-webhooks): Lists the webhook endpoints registered for a profile. - [Create a webhook subscription](https://cutedyno.com/docs/api/create-webhook): Registers an endpoint. - [Send a test event](https://cutedyno.com/docs/api/test-webhook): Delivers a synthetic event so you can verify your endpoint and signature check before waiting on real activity. - [List webhook deliveries](https://cutedyno.com/docs/api/list-webhook-deliveries): Returns the delivery log for one subscription, including response codes and the next scheduled retry. - [Update a webhook subscription](https://cutedyno.com/docs/api/update-webhook): Changes the URL or event list, or pauses delivery with isActive: false. - [Delete a webhook subscription](https://cutedyno.com/docs/api/delete-webhook): Removes an endpoint. - [Rotate the signing secret](https://cutedyno.com/docs/api/rotate-webhook-secret): Issues a new signing secret and returns it once. - [Get profile policy](https://cutedyno.com/docs/api/get-policy): Returns the guardrails on a profile: approval requirement, allowed platforms, and daily post cap. - [Update profile policy](https://cutedyno.com/docs/api/update-policy): Sets the guardrails on a profile. - [List audit events](https://cutedyno.com/docs/api/list-events): Returns the audit trail for a profile: who did what, whether it came from a key, an agent, or a person. - [List API request logs](https://cutedyno.com/docs/api/list-api-logs): Returns recent API calls made against a profile, with status codes, durations, and request ids. ## MCP tools - [list_profiles](https://cutedyno.com/docs/mcp/tools/list_profiles): Lists every profile this API key can act on. - [create_profile](https://cutedyno.com/docs/mcp/tools/create_profile): Creates a profile for a new customer. - [get_profile](https://cutedyno.com/docs/mcp/tools/get_profile): Returns the profile this request resolves to, including its name and description. - [update_profile](https://cutedyno.com/docs/mcp/tools/update_profile): Renames a profile or changes its description. - [list_accounts](https://cutedyno.com/docs/mcp/tools/list_accounts): Returns the social accounts connected to a profile. - [get_connect_url](https://cutedyno.com/docs/mcp/tools/get_connect_url): Starts a hosted OAuth flow and returns authUrl plus a session id. - [get_connect_session](https://cutedyno.com/docs/mcp/tools/get_connect_session): Checks whether a connect flow finished. - [list_posts](https://cutedyno.com/docs/mcp/tools/list_posts): Returns posts for a profile, newest first, with filters for status, content type, and platform. - [get_post](https://cutedyno.com/docs/mcp/tools/get_post): Returns one post with its content, media, target accounts, and per-account publish results. - [create_post](https://cutedyno.com/docs/mcp/tools/create_post): Creates a post. - [update_post](https://cutedyno.com/docs/mcp/tools/update_post): Edits a draft or scheduled post. - [cancel_post](https://cutedyno.com/docs/mcp/tools/cancel_post): Cancels a scheduled or queued post before it publishes. - [validate_post](https://cutedyno.com/docs/mcp/tools/validate_post): Dry-runs the same checks as create_post without writing anything. - [publish_post](https://cutedyno.com/docs/mcp/tools/publish_post): Moves a draft into the publishing queue. - [retry_post](https://cutedyno.com/docs/mcp/tools/retry_post): Requeues a failed or partially published post. - [get_post_history](https://cutedyno.com/docs/mcp/tools/get_post_history): Returns every state transition for a post. - [list_comments](https://cutedyno.com/docs/mcp/tools/list_comments): Returns comments on a profile’s published content. - [upload_media](https://cutedyno.com/docs/mcp/tools/upload_media): Returns a presigned URL. - [list_webhooks](https://cutedyno.com/docs/mcp/tools/list_webhooks): Returns the webhook endpoints registered for a profile. - [create_webhook](https://cutedyno.com/docs/mcp/tools/create_webhook): Registers an endpoint to receive events. - [test_webhook](https://cutedyno.com/docs/mcp/tools/test_webhook): Delivers a synthetic event so the receiver can be verified before real activity happens. - [list_webhook_deliveries](https://cutedyno.com/docs/mcp/tools/list_webhook_deliveries): Returns the delivery log for one subscription, with response codes, attempt counts, and the next scheduled retry. - [delete_webhook](https://cutedyno.com/docs/mcp/tools/delete_webhook): Removes a webhook endpoint. - [get_policy](https://cutedyno.com/docs/mcp/tools/get_policy): Returns the guardrails on a profile: whether approval is required, which platforms are allowed, and the daily post cap. - [update_policy](https://cutedyno.com/docs/mcp/tools/update_policy): Changes a profile’s guardrails. - [list_events](https://cutedyno.com/docs/mcp/tools/list_events): Returns the audit trail for a profile: which actions were taken, and whether by a key, an agent, or a person. - [list_logs](https://cutedyno.com/docs/mcp/tools/list_logs): Returns recent API calls against a profile with status codes, durations, and request ids. ## Reference - [Errors](https://cutedyno.com/docs/errors): Every error code the API returns, what causes it, and whether retrying helps. - [Glossary](https://cutedyno.com/docs/glossary): The words this API uses, and the ones it used to use. - [Changelog](https://cutedyno.com/docs/changelog): What changed in the API, and what you need to do about it.