{"openapi":"3.0.3","info":{"title":"Publishing Studio API","version":"1.3.0","description":"API access follows the issuing member's current organization and ecosystem permissions, narrowed to the key's account groups when it has them. Social access tokens never leave Publishing Studio. Every response carries X-Request-Id; API-key responses also carry X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and X-RateLimit-Bucket (read or write). GET requests spend a separate read budget (default 1800/min) from writes (default 600/min)."},"servers":[{"url":"https://dashboard.lifebliss.app/api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Scoped ps_ API key. Scopes: accounts:read, posts:read, posts:write, media:write, webhooks:manage, accounts:connect, analytics:read, site:read, live:read, live:write. live:* only on an org admin's key not limited to account groups."}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string"},"code":{"type":"string"},"requestId":{"type":"string","description":"Same value as the X-Request-Id header, on errors raised before the handler runs."}}},"MediaItem":{"type":"object","required":["type","url"],"properties":{"type":{"type":"string","enum":["image","video","gif","document"]},"url":{"type":"string","format":"uri"},"thumbnailUrl":{"type":"string","format":"uri"},"altText":{"type":"string"},"filename":{"type":"string"},"mimeType":{"type":"string"},"size":{"type":"integer","minimum":1},"width":{"type":"integer","minimum":1},"height":{"type":"integer","minimum":1},"durationMs":{"type":"number"}}},"CreatePost":{"type":"object","properties":{"content":{"type":"string"},"mediaItems":{"type":"array","items":{"$ref":"#/components/schemas/MediaItem"}},"targets":{"type":"array","items":{"type":"object","required":["accountId"],"properties":{"accountId":{"type":"string","format":"uuid"},"customContent":{"type":"string"},"customMedia":{"type":"array","items":{"$ref":"#/components/schemas/MediaItem"}},"platformSpecific":{"type":"object","additionalProperties":true}}}},"groupIds":{"type":"array","items":{"type":"string","format":"uuid"}},"publishNow":{"type":"boolean","default":false},"scheduledFor":{"type":"string","format":"date-time"},"timezone":{"type":"string","default":"UTC"},"useQueue":{"type":"boolean"},"queueId":{"type":"string","format":"uuid"}},"description":"At least one target or group is required. Scheduling and queue allocation are mutually exclusive."},"AcceptedPost":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string"},"queued":{"type":"integer"},"targetCount":{"type":"integer"}}},"Identity":{"type":"object","properties":{"tenantId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"role":{"type":"string","enum":["admin","member","viewer"]},"key":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"label":{"type":"string"},"scopes":{"type":"array","items":{"type":"string","enum":["accounts:read","posts:read","posts:write","media:write","webhooks:manage","accounts:connect"]}},"groupIds":{"type":"array","nullable":true,"items":{"type":"string","format":"uuid"},"description":"Null when the key reaches every account its owner can."},"expiresAt":{"type":"string","format":"date-time"}}}}},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["post.published","post.partial","post.failed","account.connected","account.needs_reauth","account.disconnected"]}},"enabled":{"type":"boolean"},"disabledReason":{"type":"string","nullable":true,"description":"Set when Studio disabled the endpoint after repeated dead-lettered deliveries."},"lastSuccessAt":{"type":"string","format":"date-time","nullable":true},"lastFailureAt":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"WebhookEndpointWithSecret":{"type":"object","properties":{"endpoint":{"$ref":"#/components/schemas/WebhookEndpoint"},"secret":{"type":"string","description":"whsec_ signing secret. Returned only on creation and rotation."}}},"CreateWebhookEndpoint":{"type":"object","required":["url","events"],"properties":{"url":{"type":"string","format":"uri","description":"Public https:// URL."},"events":{"type":"array","minItems":1,"items":{"type":"string","enum":["post.published","post.partial","post.failed","account.connected","account.needs_reauth","account.disconnected"]}},"description":{"type":"string","maxLength":200}}},"UpdateWebhookEndpoint":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"events":{"type":"array","minItems":1,"items":{"type":"string","enum":["post.published","post.partial","post.failed","account.connected","account.needs_reauth","account.disconnected"]}},"description":{"type":"string","maxLength":200},"enabled":{"type":"boolean","description":"Enabling clears disabledReason and resumes queued deliveries."},"rotateSecret":{"type":"boolean","description":"Issue a new secret; the old one stops working immediately."}}},"WebhookDelivery":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"eventId":{"type":"string"},"eventType":{"type":"string"},"status":{"type":"string","enum":["pending","sending","succeeded","dead"]},"attempts":{"type":"integer"},"nextAttemptAt":{"type":"string","format":"date-time"},"lastAttemptAt":{"type":"string","format":"date-time","nullable":true},"lastStatusCode":{"type":"integer","nullable":true},"lastError":{"type":"string","nullable":true},"lastResponse":{"type":"string","nullable":true,"description":"First 500 characters of the response body."},"lastDurationMs":{"type":"integer","nullable":true},"deliveredAt":{"type":"string","format":"date-time","nullable":true},"createdAt":{"type":"string","format":"date-time"},"body":{"type":"string","description":"The exact JSON that was signed and sent."}}},"WebhookEvent":{"type":"object","description":"Body of every webhook request. Signed per Standard Webhooks (webhook-id, webhook-timestamp, webhook-signature).","properties":{"id":{"type":"string","description":"evt_... Same on every retry; deduplicate on it."},"type":{"type":"string","enum":["post.published","post.partial","post.failed","account.connected","account.needs_reauth","account.disconnected","live.key_set","live.broadcast_scheduled","webhook.test"]},"createdAt":{"type":"string","format":"date-time"},"data":{"type":"object","description":"post.*: {post, progress, targets (first 100), targetsTruncated}. account.*: {account: {id, platform, displayName, username}}. live.key_set: {channel: LiveChannel, previousStreamId}. live.broadcast_scheduled: {broadcast: {id, title, scheduledStartTime, privacy, youtubeBroadcastId, watchUrl}, channel: LiveChannel, stream: {id, server, key}, usesChannelKey}. live.* bodies carry stream keys: they are stored encrypted and masked in the delivery log."}}},"TestDeliveryResult":{"type":"object","properties":{"deliveryId":{"type":"string","format":"uuid"},"eventId":{"type":"string"},"ok":{"type":"boolean"},"status":{"type":"string"},"statusCode":{"type":"integer","nullable":true},"error":{"type":"string","nullable":true},"durationMs":{"type":"integer"}}},"HeadlessConnectStart":{"type":"object","required":["redirectUrl"],"properties":{"redirectUrl":{"type":"string","format":"uri","description":"https:// (http only for localhost). Receives connect_token, platform and step, or error."},"ecosystemId":{"type":"string","format":"uuid"},"profileId":{"type":"string","format":"uuid"},"instance":{"type":"string","description":"Mastodon-family platforms: the user's server."}}},"HeadlessConnectStarted":{"type":"object","properties":{"authUrl":{"type":"string","format":"uri"},"state":{"type":"string"},"expiresInSeconds":{"type":"integer"}}},"ConnectChoices":{"type":"object","properties":{"platform":{"type":"string"},"total":{"type":"integer"},"matched":{"type":"integer"},"page":{"type":"integer"},"pageSize":{"type":"integer"},"hasMore":{"type":"boolean"},"accounts":{"type":"array","items":{"type":"object","properties":{"platformAccountId":{"type":"string"},"username":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"avatarUrl":{"type":"string","nullable":true}}}},"matchedIds":{"type":"array","items":{"type":"string"},"description":"Every platformAccountId matching the search, across pages."},"redirectUrl":{"type":"string","nullable":true}}},"FinishConnect":{"type":"object","required":["token"],"properties":{"token":{"type":"string"},"platformAccountId":{"type":"string"},"platformAccountIds":{"type":"array","maxItems":500,"items":{"type":"string"}},"groupId":{"type":"string","format":"uuid","description":"Required for a key limited to account groups; must be one of its groups."},"newGroupName":{"type":"string","maxLength":80}}},"ConnectResult":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"platform":{"type":"string"},"username":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"avatarUrl":{"type":"string","nullable":true},"status":{"type":"string"}}}},"connected":{"type":"integer"},"unavailable":{"type":"array","items":{"type":"string"}},"group":{"type":"object","nullable":true},"warnings":{"type":"array","items":{"type":"string"}}}},"LiveStream":{"type":"object","description":"A reusable YouTube stream: what an encoder (or Stream Desk) pushes to.","properties":{"id":{"type":"string"},"title":{"type":"string"},"server":{"type":"string","description":"RTMP ingest, e.g. rtmp://a.rtmp.youtube.com/live2"},"rtmpsServer":{"type":"string","nullable":true},"key":{"type":"string","description":"The stream key. Secret: anyone holding it can broadcast to the channel."}}},"LiveChannel":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"name":{"type":"string"},"username":{"type":"string","nullable":true},"youtubeChannelId":{"type":"string","description":"YouTube's channel id (UC…)"},"ecosystem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"nullable":true},"stream":{"description":"The key broadcasts bind to; null until one is mapped.","allOf":[{"$ref":"#/components/schemas/LiveStream"}],"nullable":true}}},"ScheduleLive":{"type":"object","required":["title","scheduledStartTime"],"description":"Give groupId or accountIds.","properties":{"groupId":{"type":"string","format":"uuid","nullable":true},"accountIds":{"type":"array","items":{"type":"string","format":"uuid"}},"title":{"type":"string","maxLength":100},"description":{"type":"string","maxLength":5000},"scheduledStartTime":{"type":"string","format":"date-time"},"privacy":{"type":"string","enum":["public","unlisted","private"],"default":"public"},"thumbnailUrl":{"type":"string","format":"uri","nullable":true},"autoStart":{"type":"boolean","default":true},"autoStop":{"type":"boolean","default":true}}}},"headers":{"X-Request-Id":{"description":"Unique ID for this request (req_...). Quote it to support.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests allowed per key per minute.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix time (seconds) when the window resets.","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds until the window resets.","schema":{"type":"integer"}}}},"paths":{"/identity":{"get":{"summary":"Identify the authenticated organization and member","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Identity"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"tags":["Accounts"]}},"/accounts":{"get":{"summary":"List permitted accounts","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"groupId","in":"query","schema":{"type":"string","format":"uuid"}}],"tags":["Accounts"]}},"/account-groups":{"get":{"summary":"List permitted account groups","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"tags":["Accounts"]}},"/org/accounts/{id}/boards":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"summary":"List Pinterest boards","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"tags":["Accounts"]}},"/posts":{"get":{"summary":"List latest 50 accessible posts, or the status of up to 100 posts by ID","security":[{"bearerAuth":[]}],"x-required-scope":"posts:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"tags":["Posts"],"description":"Without ids: the latest 50 posts with progress counts. With ids (1–100 comma-separated UUIDs): each post's status, progress and every target's status, platformPostUrl and error, in request order; IDs the key cannot see are returned in notFound.","parameters":[{"name":"ids","in":"query","required":false,"description":"Comma-separated post IDs (max 100) for batch status.","schema":{"type":"string"}}]},"post":{"summary":"Create, publish or schedule a post","security":[{"bearerAuth":[]}],"x-required-scope":"posts:write","responses":{"200":{"description":"Synchronous publishing completed","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"201":{"description":"Draft or scheduled post created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptedPost"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"202":{"description":"Queued for publishing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptedPost"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"207":{"description":"Partial synchronous result","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"409":{"description":"Duplicate content or request in flight","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"422":{"description":"Validation error or idempotency key reused","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string"}},{"name":"Prefer","in":"header","schema":{"type":"string","enum":["respond-async"]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePost"}}}},"tags":["Posts"]}},"/posts/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"summary":"Read post and paginated target results","security":[{"bearerAuth":[]}],"x-required-scope":"posts:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"status","in":"query","schema":{"type":"string","enum":["pending","publishing","published","failed"]}}],"tags":["Posts"]},"delete":{"summary":"Cancel an unpublished draft or scheduled post","security":[{"bearerAuth":[]}],"x-required-scope":"posts:write","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"tags":["Posts"]}},"/posts/{id}/retry":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"summary":"Enqueue failed targets only","security":[{"bearerAuth":[]}],"x-required-scope":"posts:write","responses":{"202":{"description":"Failed targets enqueued","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Post unavailable or retry failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"tags":["Posts"]}},"/media/presign":{"post":{"summary":"Request a signed media upload URL","security":[{"bearerAuth":[]}],"x-required-scope":"media:write","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["filename","contentType","size"],"properties":{"filename":{"type":"string"},"contentType":{"type":"string"},"size":{"type":"integer","minimum":1,"maximum":5368709120}}}}}},"tags":["Media"]}},"/validate":{"get":{"summary":"Read platform capabilities","responses":{"200":{"description":"Capabilities","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"tags":["Validation"]},"post":{"summary":"Validate content without publishing","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["platforms"],"properties":{"content":{"type":"string"},"platforms":{"type":"array","items":{"type":"string"},"minItems":1},"mediaItems":{"type":"array","items":{"$ref":"#/components/schemas/MediaItem"}}}}}}},"responses":{"200":{"description":"Validation result","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"},"issues":{"type":"array","items":{"type":"object"}}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"tags":["Validation"]}},"/webhook-endpoints":{"get":{"summary":"List webhook endpoints","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"200":{"description":"Endpoints and subscribable events","content":{"application/json":{"schema":{"type":"object","properties":{"endpoints":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}},"availableEvents":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"}}}},"limit":{"type":"integer"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","tags":["Webhooks"]},"post":{"summary":"Create a webhook endpoint","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"201":{"description":"Created; the secret is shown only now","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointWithSecret"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid URL or event","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"409":{"description":"Organization already has 10 endpoints","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookEndpoint"}}}},"tags":["Webhooks"]}},"/webhook-endpoints/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"get":{"summary":"Get a webhook endpoint","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"200":{"description":"Endpoint","content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"$ref":"#/components/schemas/WebhookEndpoint"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","tags":["Webhooks"]},"patch":{"summary":"Update, enable, disable or rotate a webhook endpoint","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"200":{"description":"Updated; includes secret when rotated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointWithSecret"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid change","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookEndpoint"}}}},"tags":["Webhooks"]},"delete":{"summary":"Delete a webhook endpoint and its delivery log","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","tags":["Webhooks"]}},"/webhook-endpoints/{id}/test":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"summary":"Send a webhook.test event now","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"200":{"description":"Result of the attempt; ok is false when the receiver rejected it","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestDeliveryResult"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Sent whether or not the endpoint is enabled. Never retried and never counts toward auto-disable.","tags":["Webhooks"]}},"/webhook-endpoints/{id}/deliveries":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"status","in":"query","schema":{"type":"string","enum":["pending","sending","succeeded","dead"]}},{"name":"before","in":"query","schema":{"type":"string","format":"date-time"},"description":"createdAt of the last row of the previous page."}],"get":{"summary":"List deliveries, newest first","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"200":{"description":"50 per page; kept 30 days","content":{"application/json":{"schema":{"type":"object","properties":{"deliveries":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDelivery"}},"hasMore":{"type":"boolean"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","tags":["Webhooks"]}},"/webhook-endpoints/{id}/deliveries/{deliveryId}/retry":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"post":{"summary":"Queue a delivery again with a fresh set of attempts","security":[{"bearerAuth":[]}],"x-required-scope":"webhooks:manage","responses":{"202":{"description":"Queued","content":{"application/json":{"schema":{"type":"object","properties":{"queued":{"type":"boolean"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"409":{"description":"In flight, a test event, or missing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Org admins only. Not available to keys limited to account groups.","tags":["Webhooks"]}},"/connect/{platform}/headless":{"parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string"},"description":"An OAuth platform, e.g. facebook, instagram, youtube, linkedin, tiktok, mastodon."}],"post":{"summary":"Start a white-label OAuth connection","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:connect","responses":{"201":{"description":"Send the user to authUrl within 15 minutes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeadlessConnectStarted"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid redirect URL, instance, or a platform that does not use OAuth","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"Plan required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"424":{"description":"The user's server refused registration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"After consent the user lands on redirectUrl with connect_token. Only this API key can use that token.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeadlessConnectStart"}}}},"tags":["Connect"]}},"/connect/select":{"get":{"summary":"List what a headless connection can publish to","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:connect","responses":{"200":{"description":"Choices","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectChoices"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"410":{"description":"Token expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Must use the API key that started the flow.","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}}],"tags":["Connect"]},"post":{"summary":"Finish a headless connection","security":[{"bearerAuth":[]}],"x-required-scope":"accounts:connect","responses":{"201":{"description":"Connected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResult"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid request, or a group-limited key without groupId","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"Plan limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"409":{"description":"Accounts no longer offered","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"410":{"description":"Token expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"},"Retry-After":{"$ref":"#/components/headers/Retry-After"}}}},"description":"Must use the API key that started the flow.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinishConnect"}}}},"tags":["Connect"]}},"/analytics/report":{"get":{"summary":"Social media analytics report","security":[{"bearerAuth":[]}],"x-required-scope":"analytics:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Days ending today, or the last 24 hours. Ignored when from/to are given.","schema":{"type":"string","enum":["24h","7","30","90"],"default":"30"}},{"name":"from","in":"query","required":false,"description":"First day (YYYY-MM-DD), with to.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last day (YYYY-MM-DD), with from.","schema":{"type":"string","format":"date"}},{"name":"timezone","in":"query","required":false,"description":"IANA timezone for days and the window, e.g. Asia/Kolkata.","schema":{"type":"string","default":"UTC"}},{"name":"platform","in":"query","required":false,"description":"Only this network, e.g. youtube, instagram, facebook.","schema":{"type":"string"}},{"name":"account","in":"query","required":false,"description":"Only this account id.","schema":{"type":"string","format":"uuid"}},{"name":"ecosystem","in":"query","required":false,"description":"Only accounts in this ecosystem id.","schema":{"type":"string","format":"uuid"}},{"name":"group","in":"query","required":false,"description":"Only accounts in this account group id.","schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","required":false,"description":"Posts published through the studio (tool), directly on the network (native), or both.","schema":{"type":"string","enum":["all","tool","native"],"default":"all"}},{"name":"mode","in":"query","required":false,"description":"lifetime: each post's latest totals. period: activity inside the window, on any post. age7: each post's totals at 7 days old.","schema":{"type":"string","enum":["lifetime","period","age7"],"default":"lifetime"}},{"name":"campaign","in":"query","required":false,"description":"Only posts tagged with this campaign.","schema":{"type":"string"}},{"name":"topic","in":"query","required":false,"description":"Only posts tagged with this topic.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Order of posts.items, highest first (published: newest first).","schema":{"type":"string","enum":["published","engagement","views","likes","comments","reach"],"default":"published"}},{"name":"limit","in":"query","required":false,"description":"Posts per page.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"offset","in":"query","required":false,"description":"Posts to skip.","schema":{"type":"integer","minimum":0,"default":0}}],"tags":["Analytics"],"description":"The connected accounts' analytics, as on the Analytics page: followers and follower growth per account, metric totals (reach, impressions, views, likes, comments, shares, saves, quotes, clicks), engagement grouped by day, post type, account, campaign and topic, best times to post, and the posts themselves with their metrics, paged. Only accounts the key's owner can reach are included; a key limited to account groups sees only those groups' accounts. Metrics a network doesn't report are null, not zero."}},"/site/visits":{"get":{"summary":"Website visit analytics","security":[{"bearerAuth":[]}],"x-required-scope":"site:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Time window ending now.","schema":{"type":"string","enum":["24h","7d","30d","90d"],"default":"30d"}}],"tags":["Site"],"description":"Visits to the public website: people (each counted once a month, with no cookies and no IP addresses stored), visits, page views, bounce rate and time on site; by day (by hour for 24h), page, source, campaign, country and device; where visits end; page-by-page journeys; the visit-to-account funnel; and answers to the \"what stopped you today?\" question. Platform staff, signed-in studio users and scanners are left out of the people numbers. Staff keys only."}},"/site/signins":{"get":{"summary":"Sign-up and sign-in analytics","security":[{"bearerAuth":[]}],"x-required-scope":"site:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Time window ending now.","schema":{"type":"string","enum":["24h","7d","30d","90d"],"default":"7d"}}],"tags":["Site"],"description":"People who opened the sign-up and log-in pages, sign-up and sign-in attempts with failures and their reasons, the latest attempts, and the newest accounts with whether they confirmed their email. Includes email addresses. Staff keys only."}},"/live/channels":{"get":{"summary":"YouTube Live channels and their stream keys","security":[{"bearerAuth":[]}],"x-required-scope":"live:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"channels":{"type":"array","items":{"$ref":"#/components/schemas/LiveChannel"}}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Days ending today, or the last 24 hours. Ignored when from/to are given.","schema":{"type":"string","enum":["24h","7","30","90"],"default":"30"}},{"name":"from","in":"query","required":false,"description":"First day (YYYY-MM-DD), with to.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last day (YYYY-MM-DD), with from.","schema":{"type":"string","format":"date"}},{"name":"timezone","in":"query","required":false,"description":"IANA timezone for days and the window, e.g. Asia/Kolkata.","schema":{"type":"string","default":"UTC"}},{"name":"platform","in":"query","required":false,"description":"Only this network, e.g. youtube, instagram, facebook.","schema":{"type":"string"}},{"name":"account","in":"query","required":false,"description":"Only this account id.","schema":{"type":"string","format":"uuid"}},{"name":"ecosystem","in":"query","required":false,"description":"Only accounts in this ecosystem id.","schema":{"type":"string","format":"uuid"}},{"name":"group","in":"query","required":false,"description":"Only accounts in this account group id.","schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","required":false,"description":"Posts published through the studio (tool), directly on the network (native), or both.","schema":{"type":"string","enum":["all","tool","native"],"default":"all"}},{"name":"mode","in":"query","required":false,"description":"lifetime: each post's latest totals. period: activity inside the window, on any post. age7: each post's totals at 7 days old.","schema":{"type":"string","enum":["lifetime","period","age7"],"default":"lifetime"}},{"name":"campaign","in":"query","required":false,"description":"Only posts tagged with this campaign.","schema":{"type":"string"}},{"name":"topic","in":"query","required":false,"description":"Only posts tagged with this topic.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Order of posts.items, highest first (published: newest first).","schema":{"type":"string","enum":["published","engagement","views","likes","comments","reach"],"default":"published"}},{"name":"limit","in":"query","required":false,"description":"Posts per page.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"offset","in":"query","required":false,"description":"Posts to skip.","schema":{"type":"integer","minimum":0,"default":0}}],"tags":["Live"],"description":"The org's connected YouTube channels, each with the stream (RTMP server and key) its broadcasts use. Org admins' keys only."}},"/live/streams":{"get":{"summary":"Stream keys available on a channel","security":[{"bearerAuth":[]}],"x-required-scope":"live:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"streams":{"type":"array","items":{"allOf":[{"$ref":"#/components/schemas/LiveStream"},{"type":"object","properties":{"isReusable":{"type":"boolean"},"streamStatus":{"type":"string","nullable":true}}}]}},"current":{"type":"string","description":"The mapped stream's id","nullable":true}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"accountId","in":"query","required":true,"schema":{"type":"string","format":"uuid"}}],"tags":["Live"],"description":"Every live stream on the channel in YouTube, for choosing which one it uses. Costs YouTube API quota."}},"/live/map":{"post":{"summary":"Set a channel's stream key","security":[{"bearerAuth":[]}],"x-required-scope":"live:write","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"mapping":{"type":"object","properties":{"streamId":{"type":"string"},"streamKey":{"type":"string"},"ingestionAddress":{"type":"string"},"rtmpsAddress":{"type":"string","nullable":true},"title":{"type":"string"}}}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"502":{"description":"YouTube refused, or the stream no longer exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Days ending today, or the last 24 hours. Ignored when from/to are given.","schema":{"type":"string","enum":["24h","7","30","90"],"default":"30"}},{"name":"from","in":"query","required":false,"description":"First day (YYYY-MM-DD), with to.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last day (YYYY-MM-DD), with from.","schema":{"type":"string","format":"date"}},{"name":"timezone","in":"query","required":false,"description":"IANA timezone for days and the window, e.g. Asia/Kolkata.","schema":{"type":"string","default":"UTC"}},{"name":"platform","in":"query","required":false,"description":"Only this network, e.g. youtube, instagram, facebook.","schema":{"type":"string"}},{"name":"account","in":"query","required":false,"description":"Only this account id.","schema":{"type":"string","format":"uuid"}},{"name":"ecosystem","in":"query","required":false,"description":"Only accounts in this ecosystem id.","schema":{"type":"string","format":"uuid"}},{"name":"group","in":"query","required":false,"description":"Only accounts in this account group id.","schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","required":false,"description":"Posts published through the studio (tool), directly on the network (native), or both.","schema":{"type":"string","enum":["all","tool","native"],"default":"all"}},{"name":"mode","in":"query","required":false,"description":"lifetime: each post's latest totals. period: activity inside the window, on any post. age7: each post's totals at 7 days old.","schema":{"type":"string","enum":["lifetime","period","age7"],"default":"lifetime"}},{"name":"campaign","in":"query","required":false,"description":"Only posts tagged with this campaign.","schema":{"type":"string"}},{"name":"topic","in":"query","required":false,"description":"Only posts tagged with this topic.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Order of posts.items, highest first (published: newest first).","schema":{"type":"string","enum":["published","engagement","views","likes","comments","reach"],"default":"published"}},{"name":"limit","in":"query","required":false,"description":"Posts per page.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"offset","in":"query","required":false,"description":"Posts to skip.","schema":{"type":"integer","minimum":0,"default":0}}],"tags":["Live"],"description":"Choose which of the channel's streams its broadcasts bind to. Sends the live.key_set webhook.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["accountId","streamId"],"properties":{"accountId":{"type":"string","format":"uuid"},"streamId":{"type":"string"}}}}}}}},"/live":{"get":{"summary":"Recent live broadcasts","security":[{"bearerAuth":[]}],"x-required-scope":"live:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"batches":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"scheduledStartTime":{"type":"string","format":"date-time"},"privacy":{"type":"string"},"sourceGroupName":{"type":"string","nullable":true},"counts":{"type":"object","properties":{"total":{"type":"integer"},"scheduled":{"type":"integer"},"live":{"type":"integer"},"failed":{"type":"integer"},"pending":{"type":"integer"}}}}}}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Days ending today, or the last 24 hours. Ignored when from/to are given.","schema":{"type":"string","enum":["24h","7","30","90"],"default":"30"}},{"name":"from","in":"query","required":false,"description":"First day (YYYY-MM-DD), with to.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last day (YYYY-MM-DD), with from.","schema":{"type":"string","format":"date"}},{"name":"timezone","in":"query","required":false,"description":"IANA timezone for days and the window, e.g. Asia/Kolkata.","schema":{"type":"string","default":"UTC"}},{"name":"platform","in":"query","required":false,"description":"Only this network, e.g. youtube, instagram, facebook.","schema":{"type":"string"}},{"name":"account","in":"query","required":false,"description":"Only this account id.","schema":{"type":"string","format":"uuid"}},{"name":"ecosystem","in":"query","required":false,"description":"Only accounts in this ecosystem id.","schema":{"type":"string","format":"uuid"}},{"name":"group","in":"query","required":false,"description":"Only accounts in this account group id.","schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","required":false,"description":"Posts published through the studio (tool), directly on the network (native), or both.","schema":{"type":"string","enum":["all","tool","native"],"default":"all"}},{"name":"mode","in":"query","required":false,"description":"lifetime: each post's latest totals. period: activity inside the window, on any post. age7: each post's totals at 7 days old.","schema":{"type":"string","enum":["lifetime","period","age7"],"default":"lifetime"}},{"name":"campaign","in":"query","required":false,"description":"Only posts tagged with this campaign.","schema":{"type":"string"}},{"name":"topic","in":"query","required":false,"description":"Only posts tagged with this topic.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Order of posts.items, highest first (published: newest first).","schema":{"type":"string","enum":["published","engagement","views","likes","comments","reach"],"default":"published"}},{"name":"limit","in":"query","required":false,"description":"Posts per page.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"offset","in":"query","required":false,"description":"Posts to skip.","schema":{"type":"integer","minimum":0,"default":0}}],"tags":["Live"],"description":"The 20 latest scheduled broadcasts with per-channel counts."},"post":{"summary":"Schedule a live broadcast on many channels","security":[{"bearerAuth":[]}],"x-required-scope":"live:write","responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"targetCount":{"type":"integer"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"range","in":"query","required":false,"description":"Days ending today, or the last 24 hours. Ignored when from/to are given.","schema":{"type":"string","enum":["24h","7","30","90"],"default":"30"}},{"name":"from","in":"query","required":false,"description":"First day (YYYY-MM-DD), with to.","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last day (YYYY-MM-DD), with from.","schema":{"type":"string","format":"date"}},{"name":"timezone","in":"query","required":false,"description":"IANA timezone for days and the window, e.g. Asia/Kolkata.","schema":{"type":"string","default":"UTC"}},{"name":"platform","in":"query","required":false,"description":"Only this network, e.g. youtube, instagram, facebook.","schema":{"type":"string"}},{"name":"account","in":"query","required":false,"description":"Only this account id.","schema":{"type":"string","format":"uuid"}},{"name":"ecosystem","in":"query","required":false,"description":"Only accounts in this ecosystem id.","schema":{"type":"string","format":"uuid"}},{"name":"group","in":"query","required":false,"description":"Only accounts in this account group id.","schema":{"type":"string","format":"uuid"}},{"name":"source","in":"query","required":false,"description":"Posts published through the studio (tool), directly on the network (native), or both.","schema":{"type":"string","enum":["all","tool","native"],"default":"all"}},{"name":"mode","in":"query","required":false,"description":"lifetime: each post's latest totals. period: activity inside the window, on any post. age7: each post's totals at 7 days old.","schema":{"type":"string","enum":["lifetime","period","age7"],"default":"lifetime"}},{"name":"campaign","in":"query","required":false,"description":"Only posts tagged with this campaign.","schema":{"type":"string"}},{"name":"topic","in":"query","required":false,"description":"Only posts tagged with this topic.","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Order of posts.items, highest first (published: newest first).","schema":{"type":"string","enum":["published","engagement","views","likes","comments","reach"],"default":"published"}},{"name":"limit","in":"query","required":false,"description":"Posts per page.","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"offset","in":"query","required":false,"description":"Posts to skip.","schema":{"type":"integer","minimum":0,"default":0}}],"tags":["Live"],"description":"Creates one YouTube broadcast per channel, each bound to that channel's mapped stream key. Channels are created in the background; each sends live.broadcast_scheduled when ready.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleLive"}}}}}},"/live/{id}":{"get":{"summary":"A broadcast's channels, keys and status","security":[{"bearerAuth":[]}],"x-required-scope":"live:read","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"batch":{"type":"object"},"targets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","creating","scheduled","live","complete","failed","canceled"]},"lifecycle":{"type":"string","nullable":true},"streamKey":{"type":"string","nullable":true},"ingestionAddress":{"type":"string","nullable":true},"watchUrl":{"type":"string","nullable":true},"errorMessage":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"username":{"type":"string","nullable":true}}}}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Broadcast id"}],"tags":["Live"],"description":"Each channel's status, stream key, RTMP server and watch URL."}},"/live/targets/{id}/cancel":{"post":{"summary":"Cancel or end one channel's broadcast","security":[{"bearerAuth":[]}],"x-required-scope":"live:write","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}}}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"400":{"description":"Invalid filter","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"Invalid or expired credential","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"402":{"description":"The plan doesn't include Live","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Insufficient permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"},"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Target id from GET /live/{id}"}],"tags":["Live"],"description":"Deletes a scheduled broadcast, or ends a live one."}}},"tags":[{"name":"Accounts"},{"name":"Posts"},{"name":"Media"},{"name":"Validation"},{"name":"Connect"},{"name":"Webhooks"},{"name":"Analytics"},{"name":"Site"},{"name":"Live","description":"YouTube Live: channels, stream keys and broadcasts. Org admins only, on a plan with Live."}]}