For developers and agents

Run your social media with your AI agents

Post content fromClaude

Claude

Supported platforms

Plan, draft and schedule with the agent you already use. Connect through MCP or build directly with the REST API.

Choose your AI agent

A short setup guide for each tool, with prompts you can actually use.

For your assistant

Give your agent a clear starting point

Send it the quickstart. It covers the connection, a read-only check, and the steps to verify a post before it goes live.

Paste into your agent

Read ezsocial.co/agent-quickstart.md and help me connect EzSocial. First check my workspaces and connected accounts. Ask before scheduling or publishing.

MCP server

Connect Claude, Cursor or another MCP client. Sign in and approve access in your browser.

Server URL

https://mcp.ezsocial.co/mcpBrowse MCP tools

REST API

Build with your own code, n8n or Make. Create an API key and send it as a bearer token.

Base URL

https://api.ezsocial.co/api/v1Browse REST endpoints

Start in three steps

  1. 01

    Connect a social account

    Connect the platforms you want to publish to in EzSocial.

    Open connections
  2. 02

    Authorize your tool

    Approve your MCP client or create an API key with the scopes you need.

    Manage API keys
  3. 03

    Create and publish

    Create a post, schedule it or publish now. Webhooks report the result.

API and MCP access require a paid plan. See pricing.

Reference

Find a tool, endpoint, permission or webhook event.

MCP tools 31

Grouped here for browsing. Your MCP client sees the full tool list.

Workspaces, accounts and brand (4)
  • ezsocial_list_workspaces
  • ezsocial_list_platforms
  • ezsocial_list_accounts
  • ezsocial_get_brand_context
Content (12)
  • ezsocial_create_post
  • ezsocial_list_content
  • ezsocial_get_content
  • ezsocial_create_content
  • ezsocial_update_content
  • ezsocial_delete_content
  • ezsocial_validate_content
  • ezsocial_approve_content
  • ezsocial_schedule_content
  • ezsocial_unschedule_content
  • ezsocial_publish_now
  • ezsocial_get_publication_status
AI (4)
  • ezsocial_plan_month
  • ezsocial_generate_text
  • ezsocial_generate_media
  • ezsocial_get_generation
Media (5)
  • ezsocial_upload_media
  • ezsocial_list_media
  • ezsocial_delete_media
  • ezsocial_create_media_upload
  • ezsocial_finalize_media_upload
Webhooks (6)
  • ezsocial_create_webhook
  • ezsocial_list_webhooks
  • ezsocial_delete_webhook
  • ezsocial_list_webhook_deliveries
  • ezsocial_ping_webhook
  • ezsocial_redeliver_webhook

REST endpoints 32

Paths are relative to the base URL. Each row shows its required scope.

Workspaces and accounts (4)
  • GET/workspacesaccounts:read

    The brands on the account. Everything else is scoped to one.

  • GET/platformsaccounts:read

    Which platforms a workspace can publish to.

  • GET/accountsaccounts:read

    The social accounts connected to a workspace.

  • GET/brand-contextaccounts:read

    Brand voice, audience and DNA. Read it before writing copy.

Posts and planning (15)
  • GET/contentcontent:read

    List content by state, platform or scheduled window.

  • POST/contentcontent:write

    Create a draft. Prefer POST /posts, which also schedules.

  • POST/postscontent:write + publish

    Create and schedule across platforms in one call.

  • POST/content/validatecontent:read

    Check a post against each platform's rules. Writes nothing.

  • POST/content/approvepublish

    Approve items waiting in the review queue.

  • POST/planscontent:write

    Plan a stretch of posts, one a day, written from the brand. Answers 202: the rows exist, their text does not yet.

  • GET/content/:contentIdcontent:read

    One item in full, including per-platform variants.

  • PATCH/content/:contentIdcontent:write

    Edit text, media, tags or the scheduled time.

  • DELETE/content/:contentIdcontent:write

    Delete a post and every publication attached to it.

  • POST/content/:contentId/unschedulepublish

    Take a scheduled post off the calendar, back to draft.

  • POST/content/:contentId/schedulepublish

    Set a future date and time. Must be in the future.

  • POST/content/:contentId/publishpublish

    Publish immediately instead of queueing.

  • GET/content/:contentId/publicationscontent:read

    Per platform status, including why one failed.

  • GET/publicationscontent:read

    Sweep every publication. The way to find what failed.

  • POST/generate-textcontent:write

    Write on-brand captions, one per platform.

Generation and media (7)
  • POST/generationsai:generate

    Generate images or a video from one sentence. Answers 202: the job exists, the media does not yet.

  • GET/generations/:jobIdai:generate

    Poll one generation. Carries the media ids once it finishes, ready to attach to a post.

  • POST/mediamedia:write

    Import media straight from a public URL.

  • POST/media/uploadsmedia:write

    Start a local-file upload. Returns a presigned PUT URL.

  • POST/media/uploads/:uploadId/finalizemedia:write

    Close the upload and get the media id back.

  • GET/mediamedia:write

    The media library, so you can reuse instead of re-upload.

  • DELETE/media/:mediaIdmedia:write

    Delete one media item and detach it from any draft.

Webhooks (6)
  • POST/webhookswebhooks:manage

    Subscribe an endpoint to publish events.

  • GET/webhookswebhooks:manage

    List your subscriptions.

  • DELETE/webhooks/:webhookIdwebhooks:manage

    Remove a subscription.

  • GET/webhooks/:webhookId/deliverieswebhooks:manage

    Every delivery attempt, with its response.

  • POST/webhooks/:webhookId/pingwebhooks:manage

    Send a test event to check the endpoint.

  • POST/webhooks/:webhookId/deliveries/:deliveryId/redeliverwebhooks:manage

    Replay one delivery that failed.

Permissions

Grant only the scopes your integration needs. Revoke access in the dashboard.

accounts:read
See your workspaces, brand profile, and connected social accounts
content:read
Read your content and its publishing status
content:write
Create and update content drafts on your behalf
publish
Schedule and publish posts to your connected accounts
media:write
Upload, list and delete media in your library
webhooks:manage
Create, list, and delete webhook subscriptions on your behalf
ai:generate
Generate images and video with AI, spending your AI credits

Webhooks

Get notified when a publication or media generation finishes.

content.published
A queued post went out. Carries the platform, the post id and the live URL.
content.publish_failed
A platform rejected it. Carries the reason the platform gave.
generation.completed
A generation finished. Carries the media ids, ready to attach to a post.
generation.failed
A generation produced nothing. Carries the reason, and the credits were returned.

Verify X-EzSocial-Signature with your webhook secret. Dedupe retries using X-EzSocial-Delivery-Id.

Build with EzSocial

Connect an account, authorize your tool and start publishing.

Start free

No credit card required