{"openapi":"3.1.0","info":{"title":"Zilfu","version":"0.0.1"},"servers":[{"url":"https://zilfu.app/api","description":"Production"}],"security":[{"http":[]}],"paths":{"/spaces/{space}/accounts":{"get":{"operationId":"accounts.index","summary":"List accounts","tags":["Account"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Array of `AccountResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AccountResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/accounts/{account}/boards":{"get":{"operationId":"accounts.boards","summary":"List Pinterest boards","tags":["Account"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"account","in":"path","required":true,"description":"The account ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"image":{"type":["string","null"]}},"required":["id","name","description","image"]}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/accounts/{account}":{"patch":{"operationId":"accounts.update","description":"Deactivating parks the account: it stops publishing and disappears from\nthe composer and the bio page, while the connection itself, its posts and\nits analytics stay intact. Activating one again is refused when your plan\nhas no free slot left, since a parked account still occupies one.","summary":"Activate or deactivate an account","tags":["Account"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"account","in":"path","required":true,"description":"The account ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAccountRequest"}}}},"responses":{"200":{"description":"`AccountResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AccountResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"accounts.destroy","summary":"Disconnect an account","tags":["Account"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"account","in":"path","required":true,"description":"The account ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/analytics":{"get":{"operationId":"analytics.index","description":"One compact row per account in the space — never merged — so a caller can\nsee each account's collection health before drilling into one of them.\nDefaults to the last 7 days in the organization timezone.","summary":"List analytics summaries","tags":["Analytics"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Array of `AccountReportSummaryResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AccountReportSummaryResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/accounts/{account}/analytics":{"get":{"operationId":"analytics.show","description":"The full report for one connected account: its metric catalogue, totals,\ninteraction score, rates, publish-date series, audience history and best\ntimes. Individual posts have their own endpoint. Defaults to the last 7\ndays in the organization timezone.","summary":"Get an account's analytics report","tags":["Analytics"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"account","in":"path","required":true,"description":"The account ID","schema":{"type":"integer"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"`AccountReportResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AccountReportResource"}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/accounts/{account}/analytics/posts":{"get":{"operationId":"analytics.posts","description":"Every post the account published in the range, paginated, one row per\npost, with a column for each metric the platform declares. Order it by\n`sort` — `published_at`, `interactions` or any declared metric key — and\n`dir`; a key this account does not declare is a 422 naming the ones it\ndoes. Defaults to the last 7 days in the organization timezone, newest first,\n20 per page.","summary":"List an account's posts with their metrics","tags":["Analytics"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"account","in":"path","required":true,"description":"The account ID","schema":{"type":"integer"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"sort","in":"query","schema":{"type":"string"}},{"name":"dir","in":"query","schema":{"type":"string","enum":["asc","desc"]}},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":10,"maximum":100}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"`AccountPostsResource`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountPostsResource"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/api-tokens":{"post":{"operationId":"api-tokens.store","summary":"Create an API token","tags":["ApiToken"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":255}},"required":["name"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/api-tokens/{tokenId}":{"delete":{"operationId":"api-tokens.destroy","description":"The API key itself cannot be revoked this way — rotate it instead, so\nthe account is never left without one.","summary":"Revoke an API token","tags":["ApiToken"],"parameters":[{"name":"tokenId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"description":"An error","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error overview.","example":"Rotate the API key instead of deleting it."}},"required":["message"]}}}}}}},"/spaces/{space}/bio/blocks":{"get":{"operationId":"bio.blocks.index","summary":"List bio blocks","tags":["BioBlock"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Array of items","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"string"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"post":{"operationId":"bio.blocks.store","summary":"Create a bio block","tags":["BioBlock"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreBioBlockRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/bio/blocks/{block}":{"put":{"operationId":"bio.blocks.update","summary":"Update a bio block","tags":["BioBlock"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"block","in":"path","required":true,"description":"The block ID","schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBioBlockRequest"}}}},"responses":{"200":{"description":"`BioBlockResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BioBlockResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"bio.blocks.destroy","summary":"Delete a bio block","tags":["BioBlock"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"block","in":"path","required":true,"description":"The block ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/bio/blocks/reorder":{"post":{"operationId":"bio.blocks.reorder","description":"Writes each block's sort_order to match its position in the given\nid list. Ids that do not belong to the space's bio page are ignored.","summary":"Reorder the bio page's content blocks","tags":["BioBlock"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"blocks":{"type":"array","items":{"type":"integer"}}},"required":["blocks"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/bio":{"get":{"operationId":"bio.show","summary":"Get the bio page","tags":["BioPageEditor"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"`BioPageResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BioPageResource"}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"post":{"operationId":"bio.store","description":"Seeds a social icons block from the space's connected accounts.","summary":"Create the bio page","tags":["BioPageEditor"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreBioPageRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"put":{"operationId":"bio.update","summary":"Update the bio page","tags":["BioPageEditor"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"`BioPageResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BioPageResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/bio/avatar":{"post":{"operationId":"bio.avatar","summary":"Upload a bio page avatar","tags":["BioPageEditor"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","contentMediaType":"application/octet-stream","maxLength":5120}},"required":["file"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/bio/image":{"post":{"operationId":"bio.image","summary":"Upload an image for a bio image block","tags":["BioPageEditor"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","contentMediaType":"application/octet-stream","maxLength":10240}},"required":["file"]}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string"},"url":{"type":"string"}},"required":["path","url"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/health":{"get":{"operationId":"health","summary":"Health check","tags":["Health"],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","const":"ok"}},"required":["status"]}}}},"503":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","const":"error"},"database":{"type":"boolean"}},"required":["status","database"]}}}}}}},"/spaces/{space}/media":{"get":{"operationId":"media.index","summary":"List a space's reusable media library","tags":["Media"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Paginated set of `MediaResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MediaResource"}},"links":{"type":"object","properties":{"first":{"type":["string","null"]},"last":{"type":["string","null"]},"prev":{"type":["string","null"]},"next":{"type":["string","null"]}},"required":["first","last","prev","next"]},"meta":{"type":"object","properties":{"current_page":{"type":"integer","minimum":1},"from":{"type":["integer","null"],"minimum":1},"last_page":{"type":"integer","minimum":1},"links":{"type":"array","description":"Generated paginator links.","items":{"type":"object","properties":{"url":{"type":["string","null"]},"label":{"type":"string"},"active":{"type":"boolean"}},"required":["url","label","active"]}},"path":{"type":["string","null"],"description":"Base path for paginator generated URLs."},"per_page":{"type":"integer","description":"Number of items shown per page.","minimum":0},"to":{"type":["integer","null"],"description":"Number of the last item in the slice.","minimum":1},"total":{"type":"integer","description":"Total number of items being paginated.","minimum":0}},"required":["current_page","from","last_page","links","path","per_page","to","total"]}},"required":["data","links","meta"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"post":{"operationId":"media.store","summary":"Ingest a completed upload into the space's media library","tags":["Media"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestMediaRequest"}}}},"responses":{"200":{"description":"`MediaResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MediaResource"}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/media/{media}":{"delete":{"operationId":"media.destroy","description":"Only library rows arrive here, and only the row is ever certain to go:\n`Api\\PostController::attachMedia` replicates a Media per post over the\nsame upload, so what the space sees as one asset is several rows deep by\nthe time it is deleted.","summary":"Remove a media asset from the space library","tags":["Media"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"media","in":"path","required":true,"description":"The media ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/media/sign":{"post":{"operationId":"media.sign","description":"PUT the file to the returned `upload_url` with `Content-Type: <mime>`, then send `url` back when creating or updating a post.","summary":"Get an upload URL","tags":["Media"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignMediaRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"upload_url":{"type":"string"},"url":{"type":"string"},"path":{"type":"string"},"expires_at":{"type":"string"}},"required":["upload_url","url","path","expires_at"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/organizations/{organization}/invitations":{"get":{"operationId":"organizations.invitations.index","summary":"List pending invitations for an organization","tags":["OrganizationInvitation"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Array of `OrganizationInvitationResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationInvitationResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"post":{"operationId":"organizations.invitations.store","summary":"Send an invitation","tags":["OrganizationInvitation"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreOrganizationInvitationRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/organizations/{organization}/invitations/{invitation}":{"delete":{"operationId":"organizations.invitations.destroy","summary":"Revoke a pending invitation","tags":["OrganizationInvitation"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}},{"name":"invitation","in":"path","required":true,"description":"The invitation ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/organizations/{organization}/invitations/{invitation}/resend":{"post":{"operationId":"organizations.invitations.resend","summary":"Regenerate token + expiry and resend the invitation email","tags":["OrganizationInvitation"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}},{"name":"invitation","in":"path","required":true,"description":"The invitation ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"`OrganizationInvitationResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OrganizationInvitationResource"}},"required":["data"]}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/organizations/{organization}/members":{"get":{"operationId":"organizations.members.index","summary":"List members of an organization","tags":["OrganizationMember"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Array of `OrganizationMemberResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationMemberResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/organizations/{organization}/members/leave":{"post":{"operationId":"organizations.members.leave","summary":"The authenticated user leaves the organization","tags":["OrganizationMember"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/organizations/{organization}/members/{user}":{"patch":{"operationId":"organizations.members.update","summary":"Update a member's role across the organization","tags":["OrganizationMember"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}},{"name":"user","in":"path","required":true,"description":"The user ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateOrganizationMemberRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"organizations.members.destroy","summary":"Remove a member, and with them their access to every space","tags":["OrganizationMember"],"parameters":[{"name":"organization","in":"path","required":true,"description":"The organization ID","schema":{"type":"integer"}},{"name":"user","in":"path","required":true,"description":"The user ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/posts":{"get":{"operationId":"posts.index","description":"Filterable by status, account, and date range. Pass `statuses[]` or\n`account_ids[]` to filter by several statuses or accounts at once.","summary":"List posts","tags":["Post"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"status","in":"query","schema":{"$ref":"#/components/schemas/PostStatus"}},{"name":"statuses[]","in":"query","schema":{"type":"array","items":{"$ref":"#/components/schemas/PostStatus"}}},{"name":"account_id","in":"query","schema":{"type":"integer"}},{"name":"account_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Paginated set of `PostResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PostResource"}},"links":{"type":"object","properties":{"first":{"type":["string","null"]},"last":{"type":["string","null"]},"prev":{"type":["string","null"]},"next":{"type":["string","null"]}},"required":["first","last","prev","next"]},"meta":{"type":"object","properties":{"current_page":{"type":"integer","minimum":1},"from":{"type":["integer","null"],"minimum":1},"last_page":{"type":"integer","minimum":1},"links":{"type":"array","description":"Generated paginator links.","items":{"type":"object","properties":{"url":{"type":["string","null"]},"label":{"type":"string"},"active":{"type":"boolean"}},"required":["url","label","active"]}},"path":{"type":["string","null"],"description":"Base path for paginator generated URLs."},"per_page":{"type":"integer","description":"Number of items shown per page.","minimum":0},"to":{"type":["integer","null"],"description":"Number of the last item in the slice.","minimum":1},"total":{"type":"integer","description":"Total number of items being paginated.","minimum":0}},"required":["current_page","from","last_page","links","path","per_page","to","total"]}},"required":["data","links","meta"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"post":{"operationId":"posts.store","description":"Creates one or more posts as a cluster. Supports draft, scheduled, or immediate publishing.","summary":"Create posts","tags":["Post"],"parameters":[{"name":"space","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorePostRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/posts/{post}":{"get":{"operationId":"posts.show","summary":"Get a post","tags":["Post"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"post","in":"path","required":true,"description":"The post ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"`PostResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PostResource"}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"put":{"operationId":"posts.update","description":"Updates content, media, thread replies, schedule, status, and metadata for a single post.","summary":"Update a post","tags":["Post"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"post","in":"path","required":true,"description":"The post ID","schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePostRequest"}}}},"responses":{"200":{"description":"`PostResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PostResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"posts.destroy","summary":"Delete a post","tags":["Post"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"post","in":"path","required":true,"description":"The post ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/posts/{post}/retry":{"post":{"operationId":"posts.retry","description":"Resets the post (and any non-published children) from Error to Scheduled,\nclears the stored error metadata, and re-dispatches the publish job.\nFor threads, already-published children are skipped on retry.","summary":"Retry publishing a failed post","tags":["Post"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"post","in":"path","required":true,"description":"The post ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"`PostResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PostResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/queue":{"get":{"operationId":"queue.index","description":"Returns up to 9 upcoming free slots from the space's schedule.","summary":"List available queue slots","tags":["Queue"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"datetime":{"type":"string"},"timestamp_ms":{"type":"string"},"label":{"type":"string"}},"required":["datetime","timestamp_ms","label"]}}},"required":["data"]},{"type":"object","properties":{"data":{"type":"array","items":{"type":"string"},"minItems":0,"maxItems":0,"additionalItems":false}},"required":["data"]}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/posts/{post}/comment":{"post":{"operationId":"posts.comment.store","summary":"Attach a follow-up comment to an existing post. If the post has already\npublished, the comment is armed immediately against its remote id","tags":["ScheduledComment"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"post","in":"path","required":true,"description":"The post ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreScheduledCommentRequest"}}}},"responses":{"200":{"description":"`ScheduledCommentResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ScheduledCommentResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/comments/{scheduledComment}":{"put":{"operationId":"comments.update","summary":"Edit a pending or armed follow-up comment","tags":["ScheduledComment"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"scheduledComment","in":"path","required":true,"description":"The scheduled comment ID","schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScheduledCommentRequest"}}}},"responses":{"200":{"description":"`ScheduledCommentResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ScheduledCommentResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"comments.destroy","summary":"Cancel a follow-up comment before it publishes","tags":["ScheduledComment"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"scheduledComment","in":"path","required":true,"description":"The scheduled comment ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"description":"An error","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error overview.","example":"This comment can no longer be cancelled."}},"required":["message"]}}}}}}},"/session":{"get":{"operationId":"session.show","summary":"Get the authenticated session's user","tags":["Session"],"responses":{"200":{"description":"`SessionResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SessionResource"}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"}}}},"/spaces/{space}/slots":{"get":{"operationId":"slots.index","summary":"List slots","tags":["Slot"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Array of `SlotResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SlotResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"post":{"operationId":"slots.store","description":"Creates a slot at the given time for each day of the week.","summary":"Create slots","tags":["Slot"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreSlotRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/slots/{slot}":{"delete":{"operationId":"slots.destroy","summary":"Delete a slot","tags":["Slot"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"slot","in":"path","required":true,"description":"The slot ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces":{"get":{"operationId":"spaces.index","summary":"List spaces accessible to the authenticated user (owned and member-of)","tags":["Space"],"responses":{"200":{"description":"Array of `SpaceResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SpaceResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"}}},"post":{"operationId":"spaces.store","summary":"Create a space","tags":["Space"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreSpaceRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}":{"get":{"operationId":"spaces.show","summary":"Get a space","tags":["Space"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"`SpaceResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SpaceResource"}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"put":{"operationId":"spaces.update","summary":"Update a space","tags":["Space"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSpaceRequest"}}}},"responses":{"200":{"description":"`SpaceResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SpaceResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"spaces.destroy","description":"Cascades to all accounts, posts, slots, and other associated data.","summary":"Delete a space","tags":["Space"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/subscription":{"get":{"operationId":"subscription.show","description":"Returns the user's current plan, account usage, plan catalog, billing\nstate and trial status.","summary":"Get subscription details","tags":["Subscription"],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"subscribed":{"type":"boolean"},"is_gifted":{"type":"boolean"},"plan":{"type":"string"},"plans":{"type":"array","items":{}},"on_grace_period":{"anyOf":[{"type":"string"},{"type":"boolean"}]},"ends_at":{"type":"string"},"accounts_used":{"type":"integer","minimum":0},"max_connectable_accounts":{"type":["integer","null"]},"posts_used_this_month":{"type":"integer","minimum":0},"monthly_post_limit":{"type":["integer","null"]},"on_trial":{"anyOf":[{"type":"string"},{"type":"boolean"}]},"trial_ends_at":{"type":"string"},"trial_eligible":{"type":"boolean"},"trial_days":{"type":"integer"},"past_due":{"anyOf":[{"type":"string"},{"type":"boolean"}]}},"required":["subscribed","is_gifted","plan","plans","on_grace_period","ends_at","accounts_used","max_connectable_accounts","posts_used_this_month","monthly_post_limit","on_trial","trial_ends_at","trial_eligible","trial_days","past_due"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"}}}},"/spaces/{space}/webhooks":{"get":{"operationId":"webhooks.index","summary":"List webhooks","tags":["Webhook"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Array of `WebhookResource`","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResource"}}},"required":["data"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}},"post":{"operationId":"webhooks.store","description":"The response carries the generated signing secret alongside the webhook,\nas a sibling of `data`. It is shown once and never returned by any other\nendpoint — store it, or use the rotate endpoint to mint a replacement.","summary":"Create a webhook","tags":["Webhook"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreWebhookRequest"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookResource"},"secret":{"type":"string"}},"required":["data","secret"]}}}},"201":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookResource"},"secret":{"type":"string"}},"required":["data","secret"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}}},"/spaces/{space}/webhooks/{webhook}":{"put":{"operationId":"webhooks.update","summary":"Update a webhook","tags":["Webhook"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"webhook","in":"path","required":true,"description":"The webhook ID","schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookRequest"}}}},"responses":{"200":{"description":"`WebhookResource`","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookResource"}},"required":["data"]},{"type":"object"}]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"},"422":{"$ref":"#/components/responses/ValidationException"}}},"delete":{"operationId":"webhooks.destroy","summary":"Delete a webhook","tags":["Webhook"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"webhook","in":"path","required":true,"description":"The webhook ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}},"/spaces/{space}/webhooks/{webhook}/rotate":{"post":{"operationId":"webhooks.rotate","description":"The only way back from a lost secret, since it is revealed once at\ncreation. Deliveries are signed with the new secret from the next event\nonward, so a subscriber that verifies signatures should be updated first\n— there is no grace period where both secrets are accepted.","summary":"Rotate a webhook's signing secret","tags":["Webhook"],"parameters":[{"name":"space","in":"path","required":true,"description":"The space ID","schema":{"type":"integer"}},{"name":"webhook","in":"path","required":true,"description":"The webhook ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookResource"},"secret":{"type":"string"}},"required":["data","secret"]}}}},"401":{"$ref":"#/components/responses/AuthenticationException"},"403":{"$ref":"#/components/responses/AuthorizationException"},"404":{"$ref":"#/components/responses/ModelNotFoundException"}}}}},"components":{"securitySchemes":{"http":{"type":"http","scheme":"bearer"}},"schemas":{"AccountPostsResource":{"type":"object","properties":{"contract":{"type":"string","description":"The payload contract version, e.g. `analytics.v2`. Shared with the report; the URL is never versioned."},"account":{"type":"object","description":"The account whose posts these are.","properties":{"id":{"type":"integer"},"social":{"type":"string"},"display_name":{"type":"string"},"handler":{"type":["string","null"]},"avatar":{"type":["string","null"]},"disconnected_at":{"type":["string","null"]}},"required":["id","social","display_name","handler","avatar","disconnected_at"]},"range":{"type":"object","description":"The window the posts were published in, and its timezone.","properties":{"from":{"type":"string"},"to":{"type":"string"},"timezone":{"type":"string"},"days":{"type":"integer"},"previous_from":{"type":"string"},"previous_to":{"type":"string"}},"required":["from","to","timezone","days","previous_from","previous_to"]},"collection":{"type":"object","description":"Whether collection is ok, partial, paused, disconnected, unsupported or has never run.","properties":{"state":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]},"last_collected_at":{"type":["string","null"]},"cadence_hours":{"type":"integer"},"polling_window_days":{"type":"integer"}},"required":["state","reason","remedy","last_collected_at","cadence_hours","polling_window_days"]},"sort":{"type":"object","description":"The ordering that was applied, and every key this account can be ordered by.","properties":{"key":{"type":"string"},"direction":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"sortable":{"type":"boolean"},"reason":{"type":["string","null"]}},"required":["key","label","sortable","reason"]}}},"required":["key","direction","options"]},"columns":{"type":"array","description":"The metric columns this platform declares, in catalogue order, each with its own health.","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"definition":{"type":"string"},"unit":{"type":"string"},"headline":{"type":"boolean"},"status":{"type":"string"},"reason":{"type":["string","null"]}},"required":["key","label","definition","unit","headline","status","reason"]}},"data":{"type":"array","description":"One row per post on this page.","items":{"type":"object","properties":{"post_id":{"type":"integer"},"published_at":{"type":["string","null"]},"permalink":{"type":["string","null"]},"imported":{"type":"boolean"},"excerpt":{"type":"string"},"thumbnail":{"type":["string","null"]},"metrics":{"type":"object","additionalProperties":{"type":"object","properties":{"value":{"type":["integer","null"]},"status":{"type":"string"},"reason":{"type":["string","null"]}},"required":["value","status","reason"]}},"interactions":{"type":"object","properties":{"total":{"type":["integer","null"]},"source":{"type":"string"},"components":{"type":["object","null"],"additionalProperties":{"type":"integer"}},"status":{"type":"string"},"reason":{"type":["string","null"]}},"required":["total","source","components","status","reason"]}},"required":["post_id","published_at","permalink","imported","excerpt","thumbnail","metrics","interactions"]}},"meta":{"type":"object","description":"Where this page sits in the range's posts.","properties":{"current_page":{"type":"integer"},"last_page":{"type":"integer"},"per_page":{"type":"integer"},"total":{"type":"integer"}},"required":["current_page","last_page","per_page","total"]}},"required":["contract","account","range","collection","sort","columns","data","meta"],"title":"AccountPostsResource"},"AccountReportResource":{"type":"object","properties":{"contract":{"type":"string","description":"The payload contract version, e.g. `analytics.v2`. The URL is never versioned."},"account":{"type":"object","description":"The account the report describes.","properties":{"id":{"type":"integer"},"social":{"type":"string"},"display_name":{"type":"string"},"handler":{"type":["string","null"]},"avatar":{"type":["string","null"]},"disconnected_at":{"type":["string","null"]}},"required":["id","social","display_name","handler","avatar","disconnected_at"]},"range":{"type":"object","description":"The reporting window, its timezone and the preceding comparison window.","properties":{"from":{"type":"string"},"to":{"type":"string"},"timezone":{"type":"string"},"days":{"type":"integer"},"previous_from":{"type":"string"},"previous_to":{"type":"string"}},"required":["from","to","timezone","days","previous_from","previous_to"]},"basis":{"type":["object","null"],"description":"What the numbers are counted on, and whether the comparison cohort has had time to mature.","properties":{"series":{"type":"string"},"values":{"type":"string"},"note":{"type":"string"},"comparison_immature":{"type":"boolean"}},"required":["series","values","note","comparison_immature"]},"collection":{"type":"object","description":"Whether collection is ok, partial, paused, disconnected, unsupported or has never run.","properties":{"state":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]},"last_collected_at":{"type":["string","null"]},"cadence_hours":{"type":"integer"},"polling_window_days":{"type":"integer"}},"required":["state","reason","remedy","last_collected_at","cadence_hours","polling_window_days"]},"coverage":{"type":["object","null"],"description":"How many posts and days the range actually rests on.","properties":{"posts_in_range":{"type":"integer"},"posts_imported":{"type":"integer"},"days_in_range":{"type":"integer"},"days_with_posts":{"type":"integer"}},"required":["posts_in_range","posts_imported","days_in_range","days_with_posts"]},"metrics":{"type":"array","description":"Every metric this platform declares, with its definition, unit and current health.","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"definition":{"type":"string"},"unit":{"type":"string"},"accumulation":{"type":"string"},"scope":{"type":"string"},"role":{"type":"string"},"window_days":{"type":["integer","null"]},"headline":{"type":"boolean"},"chartable":{"type":"boolean"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","definition","unit","accumulation","scope","role","window_days","headline","chartable","status","reason","remedy"]}},"headline_metric":{"type":["string","null"],"description":"The key of the metric this platform leads with, if any."},"totals":{"type":"array","description":"Summed post metrics for the range, each against the previous window.","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string"},"value":{"type":["integer","null"]},"previous":{"type":["integer","null"]},"change_pct":{"type":["number","null"]},"change_unit":{"type":"string"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","unit","value","previous","change_pct","change_unit","status","reason","remedy"]}},"interactions":{"type":["object","null"],"description":"The account's interaction score, whether the platform reports one natively, and what this range's score was built from.","properties":{"key":{"type":"string"},"label":{"type":"string"},"definition":{"type":"string"},"native":{"type":"boolean"},"source":{"type":"string"},"components":{"type":"array","items":{"type":"string"}},"value":{"type":["integer","null"]},"previous":{"type":["integer","null"]},"change_pct":{"type":["number","null"]},"change_unit":{"type":"string"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","definition","native","source","components","value","previous","change_pct","change_unit","status","reason","remedy"]},"rates":{"type":"array","description":"Declared rates, each naming what it divided by.","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"definition":{"type":"string"},"numerator_key":{"type":"string"},"denominator_key":{"type":"string"},"denominator_label":{"type":["string","null"]},"denominator_unit":{"type":["string","null"]},"basis":{"type":"string"},"value":{"type":["number","null"]},"per_post_mean":{"type":["number","null"]},"previous":{"type":["number","null"]},"change_pp":{"type":["number","null"]},"change_unit":{"type":"string"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","definition","numerator_key","denominator_key","denominator_label","denominator_unit","basis","value","per_post_mean","previous","change_pp","change_unit","status","reason","remedy"]}},"series":{"type":["object","null"],"description":"The daily publish-date cohort series.","properties":{"basis":{"type":"string"},"values":{"type":"string"},"note":{"type":"string"},"interval":{"type":"string"},"timezone":{"type":"string"},"metrics":{"type":"array","items":{"type":"string"}},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"posts":{"type":"integer"},"values":{"type":["object","null"],"additionalProperties":{"type":["integer","null"]}}},"required":["date","posts","values"]}}},"required":["basis","values","note","interval","timezone","metrics","points"]},"audience":{"type":"object","description":"Account-level history — followers and every other declared account metric.","properties":{"supported":{"type":"boolean"},"metrics":{"type":"array","items":{"type":"string"}},"points":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["date","values"]}},"labels":{"type":"object","additionalProperties":{"type":"string"}},"latest":{"type":["object","null"],"properties":{"date":{"type":"string"},"values":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["date","values"]},"change":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["supported","metrics","points"]}},"required":["contract","account","range","basis","collection","coverage","metrics","headline_metric","totals","interactions","rates","series","audience"],"title":"AccountReportResource"},"AccountReportSummaryResource":{"type":"object","properties":{"account":{"type":"object","description":"The account this row describes.","properties":{"id":{"type":"integer"},"social":{"type":"string"},"display_name":{"type":"string"},"handler":{"type":["string","null"]},"avatar":{"type":["string","null"]},"disconnected_at":{"type":["string","null"]}},"required":["id","social","display_name","handler","avatar","disconnected_at"]},"collection":{"type":"object","description":"Whether collection is ok, partial, paused, disconnected, unsupported or has never run.","properties":{"state":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]},"last_collected_at":{"type":["string","null"]},"cadence_hours":{"type":"integer"},"polling_window_days":{"type":"integer"}},"required":["state","reason","remedy","last_collected_at","cadence_hours","polling_window_days"]},"headline_metric":{"type":["string","null"],"description":"The key of the metric this platform leads with, if any."},"totals":{"type":"array","description":"Summed post metrics for the range, each against the previous window.","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string"},"value":{"type":["integer","null"]},"previous":{"type":["integer","null"]},"change_pct":{"type":["number","null"]},"change_unit":{"type":"string"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","unit","value","previous","change_pct","change_unit","status","reason","remedy"]}},"interactions":{"type":["object","null"],"description":"The account's interaction score, whether the platform reports one natively, and what this range's score was built from.","properties":{"key":{"type":"string"},"label":{"type":"string"},"definition":{"type":"string"},"native":{"type":"boolean"},"source":{"type":"string"},"components":{"type":"array","items":{"type":"string"}},"value":{"type":["integer","null"]},"previous":{"type":["integer","null"]},"change_pct":{"type":["number","null"]},"change_unit":{"type":"string"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","definition","native","source","components","value","previous","change_pct","change_unit","status","reason","remedy"]},"rates":{"type":"array","description":"Declared rates, each naming what it divided by.","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"definition":{"type":"string"},"numerator_key":{"type":"string"},"denominator_key":{"type":"string"},"denominator_label":{"type":["string","null"]},"denominator_unit":{"type":["string","null"]},"basis":{"type":"string"},"value":{"type":["number","null"]},"per_post_mean":{"type":["number","null"]},"previous":{"type":["number","null"]},"change_pp":{"type":["number","null"]},"change_unit":{"type":"string"},"status":{"type":"string"},"reason":{"type":["string","null"]},"remedy":{"type":["string","null"]}},"required":["key","label","definition","numerator_key","denominator_key","denominator_label","denominator_unit","basis","value","per_post_mean","previous","change_pp","change_unit","status","reason","remedy"]}},"coverage":{"type":["object","null"],"description":"How many posts and days the range actually rests on.","properties":{"posts_in_range":{"type":"integer"},"posts_imported":{"type":"integer"},"days_in_range":{"type":"integer"},"days_with_posts":{"type":"integer"}},"required":["posts_in_range","posts_imported","days_in_range","days_with_posts"]}},"required":["account","collection","headline_metric","totals","interactions","rates","coverage"],"title":"AccountReportSummaryResource"},"AccountResource":{"type":"object","properties":{"id":{"type":"integer"},"social":{"type":"string"},"display_name":{"type":"string"},"handler":{"type":"string"},"profile_url":{"type":"string"},"avatar":{"type":["string","null"]},"is_active":{"type":"boolean"},"quota_parked_at":{"type":"string","description":"When the account was parked because the plan no longer covers it. Null when the account is active, and null when the user deactivated it themselves."},"disconnected_at":{"type":"string"},"unavailable_capabilities":{"type":"array","description":"Features unavailable on this connection until it is reconnected.","items":{}}},"required":["id","social","display_name","handler","profile_url","avatar","is_active","quota_parked_at","disconnected_at","unavailable_capabilities"],"title":"AccountResource"},"BioBlockResource":{"type":"object","properties":{"id":{"type":"integer"},"type":{"type":"string"},"content":{"type":"array","items":{}},"sort_order":{"type":"integer"},"is_visible":{"type":"boolean"},"image_url":{"type":"string"},"embed":{"type":"string"}},"required":["id","type","content","sort_order","is_visible"],"title":"BioBlockResource"},"BioPageResource":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"theme":{"type":"string"},"settings":{"type":"object","properties":{"colors":{"type":"array","items":{}},"btn_radius":{"type":"string"},"font":{"type":"string"}},"required":["colors","btn_radius","font"]},"avatar":{"type":"string"},"is_enabled":{"type":"boolean"},"public_url":{"type":"string"},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}},"required":["id","slug","title","description","theme","settings","avatar","is_enabled","public_url","created_at","updated_at"],"title":"BioPageResource"},"IngestMediaRequest":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":["string","null"]},"mime":{"type":["string","null"]},"name":{"type":["string","null"],"maxLength":255}},"required":["url"],"title":"IngestMediaRequest"},"MediaResource":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"url":{"type":"string"},"name":{"type":"string"},"mime":{"type":"string"},"width":{"type":"string"},"height":{"type":"string"},"size":{"type":"string"},"duration":{"type":["string","null"],"description":"Seconds, for video we could measure; null for everything else."},"alt":{"type":"string"},"order":{"type":"string"}},"required":["id","type","url","name","mime","width","height","size","duration","alt","order"],"title":"MediaResource"},"OrganizationInvitationResource":{"type":"object","properties":{"id":{"type":"integer"},"email":{"type":"string"},"role":{"type":"string"},"permissions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":0,"maxItems":0,"additionalItems":false}]},"expires_at":{"type":"string","format":"date-time"},"accepted_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":["string","null"],"format":"date-time"},"is_expired":{"type":"boolean"}},"required":["id","email","role","permissions","expires_at","accepted_at","created_at","is_expired"],"title":"OrganizationInvitationResource"},"OrganizationMemberResource":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"permissions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"},"minItems":0,"maxItems":0,"additionalItems":false}]},"joined_at":{"type":"string"},"is_suspended":{"type":"boolean"}},"required":["id","name","email"],"title":"OrganizationMemberResource"},"PostCreatedWith":{"type":"string","enum":["web","api","cli","mcp","import"],"title":"PostCreatedWith"},"PostResource":{"type":"object","properties":{"id":{"type":"integer"},"content":{"type":"string"},"created_with":{"anyOf":[{"$ref":"#/components/schemas/PostCreatedWith"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/PostStatus"},"order":{"type":"integer"},"scheduled_at":{"type":["string","null"],"format":"date-time"},"published_at":{"type":["string","null"],"format":"date-time"},"metadata":{"type":["array","null"],"items":{}},"type":{"anyOf":[{"type":"string"},{"type":"string","enum":["carousel","text"]}]},"cluster_id":{"type":"string"},"parent_id":{"type":["integer","null"]},"user_id":{"type":"integer"},"account_id":{"type":"integer"},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"},"analytics":{"type":["array","null"],"items":{}},"analytics_metrics":{"type":"array","items":{}},"account":{"$ref":"#/components/schemas/AccountResource"},"children":{"type":"array","items":{"$ref":"#/components/schemas/PostResource"}},"scheduled_comments":{"type":"array","items":{"$ref":"#/components/schemas/ScheduledCommentResource"}},"media":{"type":"array","items":{"$ref":"#/components/schemas/MediaResource"}},"review":{"anyOf":[{"$ref":"#/components/schemas/PostReviewResource"},{"type":"null"}]}},"required":["id","content","created_with","status","order","scheduled_at","published_at","metadata","cluster_id","parent_id","user_id","account_id","created_at","updated_at","analytics"],"title":"PostResource"},"PostReviewResource":{"type":"object","properties":{"id":{"type":"integer"},"post_id":{"type":"integer"},"decision":{"type":["string","null"]},"publish_now":{"type":"boolean"},"requested_at":{"type":["string","null"],"format":"date-time"},"decided_at":{"type":["string","null"],"format":"date-time"},"scheduled_at":{"type":["string","null"],"format":"date-time"},"requested_by":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"decided_by":{"type":["object","null"],"properties":{"type":{"type":"string","const":"member"},"name":{"type":"string"}},"required":["type","name"]},"comments":{"type":"array","items":{"$ref":"#/components/schemas/ReviewCommentResource"}},"rounds":{"type":"array","items":{"$ref":"#/components/schemas/ReviewRoundResource"}},"post":{"type":["array","null"],"items":{}}},"required":["id","post_id","decision","publish_now","requested_at","decided_at","scheduled_at","decided_by"],"title":"PostReviewResource"},"PostStatus":{"type":"integer","enum":[0,1,2,3,4,5],"title":"PostStatus"},"ReviewCommentResource":{"type":"object","properties":{"id":{"type":"integer"},"body":{"type":"string"},"author":{"type":"object","properties":{"type":{"type":"string","const":"member"},"name":{"anyOf":[{"type":"string"},{"type":"string","enum":["Unknown"]}]}},"required":["type","name"]},"created_at":{"type":["string","null"],"format":"date-time"}},"required":["id","body","author","created_at"],"title":"ReviewCommentResource"},"ReviewRoundResource":{"type":"object","properties":{"id":{"type":"integer"},"decision":{"type":["string","null"]},"publish_now":{"type":"boolean"},"requested_at":{"type":["string","null"],"format":"date-time"},"decided_at":{"type":["string","null"],"format":"date-time"},"scheduled_at":{"type":["string","null"],"format":"date-time"},"requested_by":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"decided_by":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}},"required":["id","decision","publish_now","requested_at","decided_at","scheduled_at"],"title":"ReviewRoundResource"},"ScheduledCommentResource":{"type":"object","properties":{"id":{"type":"integer"},"content":{"type":"string"},"status":{"$ref":"#/components/schemas/ScheduledCommentStatus"},"delay_minutes":{"type":"integer"},"scheduled_at":{"type":["string","null"],"format":"date-time"},"published_at":{"type":["string","null"],"format":"date-time"},"metadata":{"type":["array","null"],"items":{}},"post_id":{"type":"integer"},"account_id":{"type":"integer"},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}},"required":["id","content","status","delay_minutes","scheduled_at","published_at","metadata","post_id","account_id","created_at","updated_at"],"title":"ScheduledCommentResource"},"ScheduledCommentStatus":{"type":"integer","description":"| |\n|---|\n| `0` <br/> Created, waiting for the parent post to publish before it can be armed. |\n| `1` <br/> Armed with the parent's remote id and an absolute fire time. |\n| `2` <br/>  |\n| `3` <br/>  |\n| `4` <br/>  |\n| `5` <br/> Parent post failed, so the comment never armed. |\n| `6` <br/> Cancelled by the user before publishing. |","enum":[0,1,2,3,4,5,6],"title":"ScheduledCommentStatus"},"SessionResource":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"title":"SessionResource"},"SignMediaRequest":{"type":"object","properties":{"mime":{"type":"string","enum":["image/jpeg","image/png","image/webp","video/mp4","video/quicktime"]},"size":{"type":["integer","null"],"description":"The size of the file about to be uploaded. Optional, and taken on\ntrust — the object is measured again once it lands. Sending it\nbuys an immediate refusal instead of discovering the file was too\nlarge after transferring it.","minimum":1}},"required":["mime"],"title":"SignMediaRequest"},"SlotResource":{"type":"object","properties":{"id":{"type":"integer"},"day_of_week":{"type":"integer"},"time":{"type":"string"}},"required":["id","day_of_week","time"],"title":"SlotResource"},"SpaceResource":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"timezone":{"type":["string","null"],"description":"The organization's timezone, inherited by every space. Read-only here."},"organization_id":{"type":"integer","description":"The organization holding this space, and with it the team that can reach it."},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}},"required":["id","name","timezone","organization_id","created_at","updated_at"],"title":"SpaceResource"},"StoreBioBlockRequest":{"type":"object","properties":{"type":{"type":"string","enum":["link","header","social_icons","text","image","embed"]},"content":{"type":"array","items":{"type":"string"}},"is_visible":{"type":"boolean"}},"required":["type","content"],"title":"StoreBioBlockRequest"},"StoreBioPageRequest":{"type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9\\-]*[a-z0-9]$","maxLength":100},"title":{"type":["string","null"],"maxLength":255},"description":{"type":["string","null"],"maxLength":1000},"theme":{"type":"string","enum":["minimal","bold","neon","soft","classic"]}},"required":["slug","theme"],"title":"StoreBioPageRequest"},"StoreOrganizationInvitationRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255},"role":{"type":"string","enum":["creator","publisher","approver","manager"]}},"required":["email","role"],"title":"StoreOrganizationInvitationRequest"},"StorePostRequest":{"type":"object","properties":{"space_id":{"type":"integer"},"at":{"type":["integer","null"]},"is_draft":{"type":"boolean"},"comment":{"type":"object","properties":{"content":{"type":"string"},"delay_minutes":{"type":"integer","minimum":1,"maximum":10080}}},"items":{"type":"array","items":{"type":"object","properties":{"account_id":{"type":"integer"},"social":{"type":"string"},"children":{"type":["array","null"],"items":{"type":"object","properties":{"content":{"type":"string"},"media":{"type":["array","null"],"items":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":"string","enum":["image","video"]}},"required":["url","type"]}}},"required":["content"]}},"metadata":{"type":["object","null"],"properties":{"topic_tag":{"type":["string","null"]},"post_type":{"type":["string","null"]},"link":{"type":["string","null"],"format":"uri"},"privacy_level":{"type":["string","null"],"enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"allow_comments":{"type":["boolean","null"]},"allow_duet":{"type":["boolean","null"]},"allow_stitch":{"type":["boolean","null"]},"branded_content":{"type":["boolean","null"]},"brand_organic":{"type":["boolean","null"]},"board_id":{"type":["string","null"]},"title":{"type":["string","null"],"maxLength":100},"cover_image_url":{"type":["string","null"],"format":"uri"},"privacy_status":{"type":["string","null"],"enum":["public","unlisted","private"]},"made_for_kids":{"type":["boolean","null"]},"category_id":{"type":["string","null"],"pattern":"^[0-9]+$"}}},"main":{"type":"object","properties":{"content":{"type":["string","null"],"description":"Required everywhere but YouTube, where the body is the video\ndescription and an empty one is ordinary — a Short is usually\nposted with a title and nothing else. The driver already\nhandles it (`$payload['content'] ?? ''`) and `description` is\noptional on `videos.insert`, so `required` was the only thing\nrefusing it. Written as `required_unless` because Laravel\nresolves the sibling wildcard index for a rule's parameters;\nit is the rule *object* on another key that cannot see one."},"media":{"type":["array","null"],"items":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":"string","enum":["image","video"]}},"required":["url","type"]}}}}},"required":["account_id","social"]},"minItems":1}},"required":["space_id","items"],"title":"StorePostRequest"},"StoreScheduledCommentRequest":{"type":"object","properties":{"content":{"type":"string"},"delay_minutes":{"type":"integer","minimum":1,"maximum":10080}},"required":["content","delay_minutes"],"title":"StoreScheduledCommentRequest"},"StoreSlotRequest":{"type":"object","properties":{"time":{"type":"string","pattern":"^\\d{2}:\\d{2}$"},"days_of_week":{"type":"array","items":{"type":"integer","minimum":1,"maximum":7},"minItems":1}},"required":["time","days_of_week"],"title":"StoreSlotRequest"},"StoreSpaceRequest":{"type":"object","properties":{"name":{"type":"string","maxLength":255}},"required":["name"],"title":"StoreSpaceRequest"},"StoreWebhookRequest":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string","enum":["post.published","post.failed","post.scheduled","comment.published","comment.failed","comment.received","account.connected","account.disconnected"]},"minItems":1}},"required":["url","events"],"title":"StoreWebhookRequest"},"UpdateAccountRequest":{"type":"object","properties":{"is_active":{"type":"boolean","description":"Whether the account is active. An inactive account is parked, not\ndisconnected: it publishes nothing and disappears from the\ncomposer and the bio page, while its connection, posts and\nanalytics survive untouched."}},"required":["is_active"],"title":"UpdateAccountRequest"},"UpdateBioBlockRequest":{"type":"object","properties":{"content":{"type":"array","items":{"type":"string"}},"is_visible":{"type":"boolean"}},"title":"UpdateBioBlockRequest"},"UpdateOrganizationMemberRequest":{"type":"object","properties":{"role":{"type":"string","enum":["creator","publisher","approver","manager"]}},"required":["role"],"title":"UpdateOrganizationMemberRequest"},"UpdatePostRequest":{"type":"object","properties":{"at":{"type":["integer","null"]},"is_draft":{"type":"boolean"},"content":{"type":"string","maxLength":63206},"metadata":{"type":"object","properties":{"topic_tag":{"type":["string","null"]},"post_type":{"type":["string","null"]},"link":{"type":["string","null"],"format":"uri"},"privacy_level":{"type":["string","null"],"enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"allow_comments":{"type":["boolean","null"]},"allow_duet":{"type":["boolean","null"]},"allow_stitch":{"type":["boolean","null"]},"branded_content":{"type":["boolean","null"]},"brand_organic":{"type":["boolean","null"]},"board_id":{"type":["string","null"]},"title":{"type":["string","null"],"maxLength":100},"cover_image_url":{"type":["string","null"],"format":"uri"},"privacy_status":{"type":["string","null"],"enum":["public","unlisted","private"]},"made_for_kids":{"type":["boolean","null"]},"category_id":{"type":["string","null"],"pattern":"^[0-9]+$"}}},"media":{"type":["array","null"],"items":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":"string","enum":["image","video"]}},"required":["url","type"]}},"children":{"type":["array","null"],"items":{"type":"object","properties":{"content":{"type":"string"},"media":{"type":["array","null"],"items":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":"string","enum":["image","video"]}},"required":["url","type"]}}},"required":["content"]}}},"title":"UpdatePostRequest"},"UpdateScheduledCommentRequest":{"type":"object","properties":{"content":{"type":"string"},"delay_minutes":{"type":"integer","minimum":1,"maximum":10080}},"title":"UpdateScheduledCommentRequest"},"UpdateSpaceRequest":{"type":"object","properties":{"name":{"type":"string","maxLength":255}},"title":"UpdateSpaceRequest"},"UpdateWebhookRequest":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"is_active":{"type":"boolean"},"events":{"type":"array","items":{"type":"string","enum":["post.published","post.failed","post.scheduled","comment.published","comment.failed","comment.received","account.connected","account.disconnected"]},"minItems":1}},"title":"UpdateWebhookRequest"},"WebhookResource":{"type":"object","properties":{"id":{"type":"integer"},"url":{"type":"string"},"events":{"type":"array","items":{}},"is_active":{"type":"boolean"},"created_at":{"type":["string","null"],"format":"date-time"},"updated_at":{"type":["string","null"],"format":"date-time"}},"required":["id","url","events","is_active","created_at","updated_at"],"title":"WebhookResource"}},"responses":{"AuthenticationException":{"description":"Unauthenticated","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error overview."}},"required":["message"]}}}},"AuthorizationException":{"description":"Authorization error","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error overview."}},"required":["message"]}}}},"ModelNotFoundException":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error overview."}},"required":["message"]}}}},"ValidationException":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Errors overview."},"errors":{"type":"object","description":"A detailed description of each field that failed validation.","additionalProperties":{"type":"array","items":{"type":"string"}}}},"required":["message","errors"]}}}}}}}