Build on SocialAgentry
Two ways in, one key. Create an access key in Settings → AI assistant access (keys look like sam_… and are scoped to one brand). The same key works for the REST API and the MCP server. Everything created through the API lands in the normal review queue — your approval flow stays in charge.
Partner REST API
Base URL https://socialagentry.com/api/partner/v1 — send the key on every call:
Authorization: Bearer sam_your_key_here
(Clients that can't set headers may use ?key=sam_... — prefer the header; URLs end up in logs.) Errors are always { "error": "message" } with 400/401/404/429/502. No idempotency keys — after a timeout, list posts before retrying to avoid duplicates.
GET/overview
GET/posts?status=PUBLISHED&limit=20
POST/posts
{
"body": "Excited to announce ...",
"platform": "linkedin",
"hashtags": ["compliance"],
"link": "https://example.com",
"mediaUrls": ["https://.../image.png"]
}POST/generate
{ "topic": "our new whitepaper on Oracle audits", "count": 3, "platforms": ["linkedin", "x"] }GET/summary
GET/webhooks
POST/webhooks
{ "url": "https://your-tool.com/hooks/socialagentry", "events": ["post.published", "post.failed"] }Each delivery is a JSON POST with headers x-socialagentry-signature = hex(HMAC-SHA256(secret, raw body)) — verify it (constant-time, raw bytes) before trusting the payload — and x-socialagentry-event naming the event. One delivery attempt, 10s timeout, no retries.{ "event": "post.published", "timestamp": "...", "data": { "postId": "...", "platform": "LinkedIn", "live": true, "url": "https://... or null", "preview": "first 140 chars" } }
{ "event": "post.failed", "timestamp": "...", "data": { "postId": "...", "platform": "LinkedIn", "error": "why it failed", "preview": "first 140 chars" } }DELETE/webhooks/:id
MCP server (for AI assistants)
The same brand key connects Claude, ChatGPT, or any MCP-capable tool directly to your workspace over Streamable HTTP:
https://socialagentry.com/api/mcp Authorization: Bearer sam_your_key_here (or ?key=sam_...)
Tools: get_overview, generate_posts, create_draft (push your own text), list_posts, approve_posts, schedule_best_times, publish_post, get_performance. Every action respects the brand's approval lifecycle, AI budget, and audit log.
Need a key?
Sign in, open Settings → AI assistant access, and create one per tool you connect. Keys are shown once and can be revoked anytime.