{"components":{"parameters":{"Cursor":{"in":"query","name":"cursor","schema":{"description":"Opaque query-bound page cursor","type":"string"}},"IdempotencyKey":{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":200,"type":"string"}},"IfMatch":{"in":"header","name":"If-Match","required":true,"schema":{"type":"string"}},"Limit":{"in":"query","name":"limit","schema":{"maximum":100,"minimum":1,"type":"integer"}}},"responses":{"Error":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Structured API error"}},"schemas":{"ConfirmationDecision":{"additionalProperties":false,"properties":{"consentText":{"maxLength":1000,"minLength":1,"type":"string"},"decision":{"enum":["approve","decline"],"type":"string"},"source":{"enum":["mcp_written_consent"],"type":"string"}},"required":["decision"],"type":"object"},"Error":{"properties":{"error":{"properties":{"code":{"type":"string"},"details":{},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"requestId":{"type":"string"}},"required":["error","requestId"],"type":"object"},"SocialConfirmationConsume":{"additionalProperties":false,"properties":{"confirmationId":{"type":"string"}},"required":["confirmationId"],"type":"object"},"WorkflowInput":{"additionalProperties":false,"properties":{"url":{"format":"uri","type":"string"},"values":{"additionalProperties":true,"type":"object"}},"type":"object"},"WorkflowRequest":{"additionalProperties":false,"properties":{"confirmationId":{"type":"string"},"expectedWorkflowRevision":{"type":"string"},"input":{"$ref":"#/components/schemas/WorkflowInput"},"nodeConfigs":{"additionalProperties":{"type":"object"},"type":"object"},"workflowId":{"type":"string"}},"type":"object"}},"securitySchemes":{"googleServiceIdentity":{"bearerFormat":"Google OIDC ID token","scheme":"bearer","type":"http"},"overlapDelegation":{"description":"Bearer delegated JWS","in":"header","name":"X-Overlap-Delegation","type":"apiKey"}}},"info":{"description":"Tenant-scoped API for trusted Overlap services. Tenant identity is derived from delegated identity and is never accepted as request input. Tenant routes additionally require an enabled organization feature, eligible plan, and explicit expiring OAuth-client grant.","title":"Overlap Internal Domain API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/analytics/posts":{"get":{"operationId":"listAnalyticsPosts","responses":{"200":{"description":"Cached post analytics"}}}},"/analytics/posts/{postId}":{"get":{"operationId":"getAnalyticsPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Cached analytics for one post"}}}},"/analytics/summary":{"get":{"operationId":"getAnalyticsSummary","responses":{"200":{"description":"Cached tenant analytics summary"}}}},"/analytics/trending-posts":{"get":{"operationId":"listTrendingAnalyticsPosts","responses":{"200":{"description":"Cached trending post analytics"}}}},"/clips":{"get":{"operationId":"listClips","parameters":[{"in":"query","name":"query","schema":{"maxLength":500,"type":"string"}},{"in":"query","name":"status","schema":{"type":"string"}},{"in":"query","name":"aspectRatio","schema":{"type":"string"}},{"description":"Clip tag facets matched with OR semantics","explode":true,"in":"query","name":"tags","schema":{"items":{"type":"string"},"maxItems":20,"type":"array"},"style":"form"},{"description":"Clips-page status tag facets matched with OR semantics","explode":true,"in":"query","name":"statuses","schema":{"items":{"type":"string"},"maxItems":20,"type":"array"},"style":"form"},{"explode":true,"in":"query","name":"people","schema":{"items":{"type":"string"},"maxItems":30,"type":"array"},"style":"form"},{"in":"query","name":"personMode","schema":{"default":"any","enum":["any","all"],"type":"string"}},{"explode":true,"in":"query","name":"keywords","schema":{"items":{"type":"string"},"maxItems":30,"type":"array"},"style":"form"},{"in":"query","name":"workflowId","schema":{"maxLength":200,"type":"string"}},{"description":"Exact episode/source ID, including live_ IDs from portal episode URLs","in":"query","name":"episodeId","schema":{"maxLength":200,"type":"string"}},{"in":"query","name":"workflowRunId","schema":{"maxLength":200,"type":"string"}},{"in":"query","name":"durationMin","schema":{"minimum":0,"type":"number"}},{"in":"query","name":"durationMax","schema":{"minimum":0,"type":"number"}},{"in":"query","name":"modifiedAfter","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"modifiedBefore","schema":{"format":"date-time","type":"string"}},{"in":"query","name":"includeFacets","schema":{"default":false,"type":"boolean"}},{"description":"Return no clip objects and place the match count in meta.total","in":"query","name":"countOnly","schema":{"default":false,"type":"boolean"}},{"in":"query","name":"sortBy","schema":{"default":"created_at","enum":["created_at","updated_at","duration","title","virality_score"],"type":"string"}},{"in":"query","name":"sortOrder","schema":{"enum":["asc","desc"],"type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"}],"responses":{"200":{"description":"Filtered compact clip summaries, or a count-only result"}}}},"/clips/{clipId}":{"get":{"operationId":"getClip","parameters":[{"in":"path","name":"clipId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sanitized clip"}}},"patch":{"operationId":"patchClip","parameters":[{"in":"path","name":"clipId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Updated clip"}}}},"/clips/{clipId}/render":{"post":{"operationId":"renderClip","parameters":[{"in":"path","name":"clipId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Render completed with a render URL"},"429":{"description":"Organization render concurrency limit reached"},"500":{"description":"Render failed"}}}},"/clips/{clipId}/render-jobs":{"post":{"operationId":"createClipRenderJob","parameters":[{"in":"path","name":"clipId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"202":{"description":"Durable render operation queued"},"503":{"description":"Render queue is not configured; no operation was created"}}}},"/clips/{clipId}/transcript":{"get":{"operationId":"getClipTranscript","parameters":[{"in":"path","name":"clipId","required":true,"schema":{"type":"string"}},{"in":"query","name":"start","schema":{"minimum":0,"type":"number"}},{"in":"query","name":"end","schema":{"minimum":0,"type":"number"}},{"in":"query","name":"limit","schema":{"maximum":500,"minimum":1,"type":"integer"}},{"$ref":"#/components/parameters/Cursor"}],"responses":{"200":{"description":"Bounded word transcript"}}},"patch":{"operationId":"patchClipTranscript","parameters":[{"in":"path","name":"clipId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Updated transcript with a bounded first page and continuation cursor"}}}},"/confirmations/{confirmationId}":{"get":{"operationId":"getConfirmation","parameters":[{"in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Opaque confirmation preview and state"}}}},"/confirmations/{confirmationId}:decide":{"post":{"operationId":"decideConfirmation","parameters":[{"in":"path","name":"confirmationId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmationDecision"}}},"required":true},"responses":{"200":{"description":"Confirmation decision recorded"}}}},"/context":{"get":{"operationId":"getContext","responses":{"200":{"description":"Bound organization and principal context"}}}},"/internal/operations/{operationId}/execute":{"post":{"operationId":"executeOperation","parameters":[{"in":"path","name":"operationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Operation callback acknowledged"},"202":{"description":"Duplicate or ambiguous callback acknowledged"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/operations:execute":{"post":{"operationId":"executeOperationTask","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"operationId":{"type":"string"}},"required":["operationId"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Operation callback acknowledged"},"202":{"description":"Duplicate or ambiguous callback acknowledged"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/operations:reconcile":{"post":{"operationId":"reconcileOrphanedOperations","responses":{"200":{"description":"Stale queued operations re-enqueued"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/social-actions/{socialActionId}/execute":{"post":{"operationId":"executeSocialActionById","parameters":[{"in":"path","name":"socialActionId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Terminal or duplicate social action callback acknowledged"},"202":{"description":"Social action is already leased by another worker"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/social-actions:execute":{"post":{"operationId":"executeSocialActionTask","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"operationId":{"type":"string"}},"required":["operationId"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Terminal or duplicate social action callback acknowledged"},"202":{"description":"Social action is already leased by another worker"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/social-actions:reconcile":{"post":{"operationId":"reconcileOrphanedSocialActions","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"limit":{"default":100,"maximum":500,"minimum":1,"type":"integer"},"minimumAgeSeconds":{"default":300,"maximum":86400,"minimum":60,"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"description":"Stale pending or expired leased social actions re-enqueued"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/workflow-dispatches/{dispatchId}/execute":{"post":{"operationId":"executeWorkflowDispatchById","parameters":[{"in":"path","name":"dispatchId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Terminal or duplicate workflow dispatch acknowledged"},"202":{"description":"Workflow dispatch is already leased by another worker"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/workflow-dispatches:execute":{"post":{"operationId":"executeWorkflowDispatchTask","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"dispatchId":{"type":"string"}},"required":["dispatchId"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Terminal or duplicate workflow dispatch acknowledged"},"202":{"description":"Workflow dispatch is already leased by another worker"}},"security":[{"googleServiceIdentity":[]}]}},"/internal/workflow-dispatches:reconcile":{"post":{"operationId":"reconcileWorkflowDispatches","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"limit":{"default":100,"maximum":500,"minimum":1,"type":"integer"},"minimumAgeSeconds":{"default":300,"maximum":86400,"minimum":60,"type":"integer"}},"type":"object"}}},"required":false},"responses":{"200":{"description":"Queued workflow dispatches re-enqueued and expired leases reconciled"}},"security":[{"googleServiceIdentity":[]}]}},"/openapi.json":{"get":{"operationId":"getV1OpenApi","responses":{"200":{"description":"This OpenAPI document"}},"security":[]}},"/operations/{operationId}":{"get":{"operationId":"getOperation","parameters":[{"in":"path","name":"operationId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Asynchronous operation status"}}}},"/search":{"get":{"operationId":"searchResources","parameters":[{"in":"query","name":"query","required":true,"schema":{"maxLength":500,"minLength":1,"type":"string"}},{"in":"query","name":"types","schema":{"explode":true,"items":{"enum":["workflow","run","clip","social_post","doc"],"type":"string"},"style":"form","type":"array"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"}],"responses":{"200":{"description":"Paginated tenant search results"}}}},"/social/accounts":{"get":{"operationId":"listSocialAccounts","responses":{"200":{"description":"Connected account handles without provider credentials"}}}},"/social/calendar":{"get":{"operationId":"getSocialCalendar","responses":{"200":{"description":"Bounded social calendar window"}}}},"/social/posts":{"post":{"operationId":"createSocialPostDraft","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"201":{"description":"Unapproved company-scoped draft created"}}}},"/social/posts/{postId}":{"get":{"operationId":"getSocialPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Social post"}}},"patch":{"operationId":"patchSocialPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IfMatch"},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Updated draft with approval revoked"}}}},"/social/posts/{postId}:cancel":{"post":{"operationId":"cancelSocialPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialConfirmationConsume"}}},"required":true},"responses":{"202":{"description":"Cancellation outbox operation created"}}}},"/social/posts/{postId}:prepare-cancel":{"post":{"operationId":"prepareSocialCancel","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"201":{"description":"Cancellation confirmation prepared"}}}},"/social/posts/{postId}:prepare-publish":{"post":{"operationId":"prepareSocialPublish","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"201":{"description":"Publish confirmation prepared"}}}},"/social/posts/{postId}:publish":{"post":{"operationId":"publishSocialPost","parameters":[{"in":"path","name":"postId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialConfirmationConsume"}}},"required":true},"responses":{"202":{"description":"Publish outbox operation created"}}}},"/workflow-node-types":{"get":{"operationId":"listWorkflowNodeTypes","responses":{"200":{"description":"Workflow node catalog"}}}},"/workflow-node-types/{nodeType}":{"get":{"operationId":"getWorkflowNodeType","parameters":[{"in":"path","name":"nodeType","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Workflow node schema"}}}},"/workflow-runs":{"post":{"operationId":"startWorkflowRun","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRequest"}}},"required":true},"responses":{"202":{"description":"Workflow run intent committed to the durable dispatch outbox"}}}},"/workflow-runs/{workflowRunId}":{"get":{"operationId":"getWorkflowRun","parameters":[{"in":"path","name":"workflowRunId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Workflow run without signed media URLs"}}}},"/workflow-runs/{workflowRunId}/cancel":{"post":{"operationId":"cancelWorkflowRunAlias","parameters":[{"in":"path","name":"workflowRunId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Workflow run was already terminal"},"202":{"description":"Cancellation marker and durable dispatch intent committed"}}}},"/workflow-runs/{workflowRunId}:cancel":{"post":{"operationId":"cancelWorkflowRun","parameters":[{"in":"path","name":"workflowRunId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"responses":{"200":{"description":"Workflow run was already terminal"},"202":{"description":"Cancellation marker and durable dispatch intent committed"}}}},"/workflow-runs:preflight":{"post":{"operationId":"preflightWorkflowRun","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRequest"}}},"required":true},"responses":{"200":{"description":"Frozen revision, effects, and optional confirmation"}}}},"/workflows":{"get":{"operationId":"listWorkflows","parameters":[{"in":"query","name":"query","schema":{"maxLength":300,"type":"string"}},{"in":"query","name":"status","schema":{"enum":["active","draft","archived"],"type":"string"}},{"$ref":"#/components/parameters/Limit"},{"$ref":"#/components/parameters/Cursor"}],"responses":{"200":{"description":"Paginated workflows"}}}},"/workflows/{workflowId}":{"get":{"operationId":"getWorkflow","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Sanitized workflow graph"}}}},"/workflows/{workflowId}/preflight":{"post":{"operationId":"preflightWorkflowRunAlias","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRequest"}}},"required":true},"responses":{"200":{"description":"Frozen revision, effects, and optional confirmation"}}}},"/workflows/{workflowId}/runs":{"post":{"operationId":"startWorkflowRunAlias","parameters":[{"in":"path","name":"workflowId","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRequest"}}},"required":true},"responses":{"202":{"description":"Workflow run intent committed to the durable dispatch outbox"}}}}},"security":[{"googleServiceIdentity":[],"overlapDelegation":[]}],"servers":[{"url":"/v1"}]}
